我正在使用该mice
包R
对具有大量缺失的数据集进行多次插补。原始数据集中的一些变量对于插补过程和以后的分析很重要。cor()
但是,我想使用不包括某些变量来创建相关矩阵。通常,对于一个简单的数据集x
,cor(x[,3:7])
将产生第 3 列到第 7 列的相关矩阵。如果x
是mids
由mice
函数创建的对象,通常会使用with
执行重复分析来创建mira
对象,然后用于pool
创建mipo
池化结果对象. 然而,第二个元素with
应该是引用数据集列的公式,而不是进入cor()
. Ifx
是一个mids
对象,cor(x[,3:7])
它不起作用,with(x, cor(x[,3:7]))
.
如何为多重插补数据集中的变量子集创建汇总相关矩阵?
#reproducible example
x = data.frame(matrix(rnorm(100),10,10)) #create random data
x[9:10,] = NA #add missingness
x.mice = mice(x) #make imputed data set
cor(x.mice[,3:7]) #doesn't work
with(x.mice, cor(x.mice[,3:7])) #doesn't work
with(x.mice[,3:7], cor()) #doesn't work