首页 > 解决方案 > 使用 R 中“mice”库中的“ampute”函数在数据集中生成缺失值

问题描述

我最初在CrossValidated上发布了这个,但现在意识到这个网站更适合我的问题。

按照这个链接,我正在尝试生成缺失值来模拟真实世界的情况

首先,我使用以下代码生成了解释变量:

n = 50

x1 = rnorm(n,mean = 0,sd = 1)         
x2 = rnorm(n,mean = 0,sd = 1) 
x3 = rnorm(n,mean = 0,sd = 1)         
x4 = rnorm(n,mean = 0,sd = 1)   

然后我通过以下代码生成响应变量。

z = -1 + .5*x1 + .5*x2 + .5*x3 + .5*x4 + rnorm(1,0,0.1)
pr = 1/(1+exp(z))       # pass through an inv-logit function
y = rbinom(n,1,pr)      # bernoulli response variable

data_mat <- as.data.frame(cbind(x1,x2,x3,x4,y))

我正在尝试使用库中的ampute函数mice根据二进制响应变量生成缺失数据。

我想生成的非随机缺失情况如下:当 时Y = 0,自变量丢失数据的可能性是自变量时的四倍Y = 0

这可以使用ampute函数来完成还是有其他方法?谢谢你。

标签: rmissing-datar-mice

解决方案


推荐阅读