在对包使用多重插补后,我试图产生类似于densityplot()
from 的东西。这是一个可重现的示例:lattice package
ggplot2
mice
require(mice)
dt <- nhanes
impute <- mice(dt, seed = 23109)
x11()
densityplot(impute)
产生:
我想对输出有更多的控制(我也用它作为 ggplot 的学习练习)。所以,对于bmi
变量,我尝试了这个:
bar <- NULL
for (i in 1:impute$m) {
foo <- complete(impute,i)
foo$imp <- rep(i,nrow(foo))
foo$col <- rep("#000000",nrow(foo))
bar <- rbind(bar,foo)
}
imp <-rep(0,nrow(impute$data))
col <- rep("#D55E00", nrow(impute$data))
bar <- rbind(bar,cbind(impute$data,imp,col))
bar$imp <- as.factor(bar$imp)
x11()
ggplot(bar, aes(x=bmi, group=imp, colour=col)) + geom_density()
+ scale_fill_manual(labels=c("Observed", "Imputed"))
产生这个:
所以它有几个问题:
- 颜色不对。看来我控制颜色的尝试完全错误/被忽略了
- 有不需要的水平线和垂直线
- 我希望图例显示 Imputed 和 Observed 但我的代码给出了错误
invalid argument to unary operator
此外,要完成一条线完成的工作似乎需要做很多工作densityplot(impute)
- 所以我想知道我是否可能完全以错误的方式去做这件事?
编辑:我应该添加第四个问题,正如@ROLO 所指出的:
.4. 地块的范围似乎不正确。