R中多个二元变量的同时插补

R中多个二元变量的同时插补,r,missing-data,R,Missing Data,我有一个具有多个相关二进制变量(0/1)的数据集。有人能告诉我一个解决方案吗?如何根据其他变量中的信息来估算完全随机的缺失值 下面,我提供了一些代码来创建一个只包含3个相关二进制变量的简化数据集 # create correlated random binary (0/1) variables x1 <- runif(100,0,1) # N(0,1)) x2 <- x1 * runif(100,0,1) # N(0,1)) x3 <- x2 * ru

我有一个具有多个相关二进制变量(0/1)的数据集。有人能告诉我一个解决方案吗?如何根据其他变量中的信息来估算完全随机的缺失值

下面,我提供了一些代码来创建一个只包含3个相关二进制变量的简化数据集

# create correlated random binary (0/1) variables
x1 <- runif(100,0,1)          # N(0,1))
x2 <- x1 * runif(100,0,1)     # N(0,1))
x3 <- x2 * runif(100,0,1)+0.2 # N(0,1))
x1 <- round(x1)
x2 <- round(x2)
x3 <- round(x3)

#introduce random missing (MCAR)
x1[seq(1,100,7)]<-NA
x2[seq(2,100,7)]<-NA
x3[seq(3,100,7)]<-NA

# how can I impute missing values in this dataframe?
df <- as.data.frame(cbind(x1,x2,x3))
cor(df,use="pairwise.complete.obs")
#创建相关的随机二进制(0/1)变量
x1你可以使用这个软件包

>库(鼠标)
装载所需包裹:Rcpp
小鼠2.21 2014-02-05
>df.估算净收益率(df)=总和(完整案例(df.估算))
[1] 真的
>cor(df.估算)
x1x2x3
x1 1.0000000.4645345 0.2914986
x2 0.4645345 1.0000000.6787420
x3 0.2914986 0.6787420 1.0000000
试试看
> library(mice)
Loading required package: Rcpp
mice 2.21 2014-02-05
> df.imputed <- complete(mice(df))
# mice output deleted
> nrow(df) == sum(complete.cases(df.imputed))
[1] TRUE
> cor(df.imputed)
          x1        x2        x3
x1 1.0000000 0.4645345 0.2914986
x2 0.4645345 1.0000000 0.6787420
x3 0.2914986 0.6787420 1.0000000