我有一个数据集,我正在使用缺失数据进行多元回归,类似于:
dat <- data.frame(y = c(1, 2, 3, 4, 5, 4, 3, 4, NA, 10),
x = c(6, 5, NA, 3, 9, 2, 6, 1, 7, 10),
z = c(4, 6, 4, 3, 1, 2, 1, 5, 10, NA))
我想做成对删除,如果有NA
一个自变量,函数仍然使用该观察来回归可用值。我尝试使用以下选项,na.action
但得到完全相同的输出。有没有办法用成对而不是按列表删除来进行 OLS 回归(或另一种回归)?
summary(lm(y ~ x + z, data = dat))
summary(lm(y ~ x + z, data = dat, na.action = "na.omit"))
summary(lm(y ~ x + z, data = dat, na.action = "na.exclude"))
在旁注中,我的理解是,对于列表删除,该函数仅使用完整的观察结果,而成对删除使用在同一观察中存在两个值的每种情况,以进行回归。如果我理解这个错误,请告诉我。从本质上讲,我的问题是我的许多变量都有适量的缺失数据,所以我的数据N
从 450k 增加到 170k obs。我不愿意通过链式方程 (MICE) 使用多重插补,因为这是大量数据,它是多级数据,并且该mice
程序包只有一个功能,可以一次使用一个变量进行 2 级 MICE。