我正在使用长格式的数据框在lattice
中创建一个镶板密度图。现在我想在每个面板的中间x值处添加一条垂直线。我在dotplot
(http://r.789695.n4.nabble.com/how-to-add-a-vertical-line-for-each-panel-in-a-lattice-dotplot-with-log-scale-td4632513.html)中找到了建议,但这对我不起作用。这是我的代码:
data(Chem97, package="mlmRev")
densityplot(~gcsescore | factor(score), data=Chem97,
panel=function(...){
panel.densityplot(...)
median.values <- median(x)
panel.abline(v=median.values, col.line="red")
})
错误是:Object x not found
。所以我尝试了以下内容:
panel=function(x,...){
panel.densityplot(...)
}
当我将x
作为参数添加到面板函数时,我收到错误Error using packet 1 (2, 3 etc.). x is missing
。
出了什么问题?
答案 0 :(得分:4)
我终于找到了解决方案:
densityplot(~gcsescore | factor(score), data=Chem97,
panel=function(x,...){
panel.densityplot(x,...)
panel.abline(v=quantile(x,.5), col.line="red")
})