r - lmer 与 gls 中的缺失值

标签 r missing-data lme4 nlme

我有一个纵向数据集,正在使用 lme4 中的 lmer 对其执行 HLM 分析。我想将此分析的结果与使用 nlme 包中的 gls 相同数据的结果进行比较。

数据集中的每个参与者都有多种度量,并且多个参与者在一个或多个时间点缺少值。

lmer 似乎没有问题,但是当我使用 gls 运行相同的分析时,我收到一条错误消息

Error in na.fail.default(list(id = c(1001L, 1002L, 1003L, 1004L, 1005L,  : 
  missing values in object

所以我有两个问题

(1)lmer如何处理缺失值?

(2) 为什么 gls 需要 0 个缺失值,而 lmer 似乎对 NA 没有问题?我不想因为被迫排除所有丢失数据的参与者而失去所有权力,所以如果有某种方法可以指定在 lmer 中处理缺失值的相同方法(除了在 中) gls 那将是理想的。 (否则我想是多重插补?)

最佳答案

lmer 的默认 na.actionna.omit,这意味着在一个或多个变量上缺少值的任何行模型中的内容从数据集中删除。 gls 中的默认操作是 na.fail,这就是为什么当模型中的任何变量缺少值时 gls 会给出错误消息。无论您使用哪种功能,电源问题仍然存在。您可以通过键入 gls(....,na.action = na.omit) 来指定处理丢失数据的相同方法,但在这两种情况下,您都会排除丢失数据的行。

由于您有纵向数据,排除缺失数据的行并不一定等于排除参与者(但可能意味着您排除了某些参与者的某些观察结果),并且根据 Snijder 和 Bosker (2012) 的说法,不会导致偏见假设数据随机丢失 (MAR) 的估计。我将首先检查缺失数据中可能导致偏差的任何模式,例如因为与缺失数据机制相关的变量没有包含在模型中。多重插补可以是一种选择,但(取决于具体情况)通常对缓解权力问题作用不大。

关于r - lmer 与 gls 中的缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360772/

相关文章:

python - 如何使用python中前一周(天)的同一天和时间的值来估算时间序列数据中的缺失值

r - 按组可视化混合模型中随机效应的方差

r - 从聚合数据在 Python 中拟合生存模型

python - sklearn.impute.IterativeImputer 的实现

r - 按列分组,然后计算 R 中每隔一列的均值和标准差

r - 避免矩阵乘法中 NA 的传播

r - 从线性混合模型 (lme4) 获取效果大小

r - 如何拟合 Skellam 回归?

r - 如何查看.RData 文件中的数据?

rstudio 的 traceback() 不再以交互方式工作