【发布时间】:2019-09-30 15:04:22
【问题描述】:
我正在做混合效果建模(使用两个时间点的数据),我想知道为什么 R 包之间以及程序之间存在差异。这是一个可重现的示例:
USArrests$ID <- as.factor(matrix(1:50))
USArrests <- USArrests[,-c(2,3,4)]
USArrests$Murder2 <- USArrests$Murder + 5
library(reshape)
USArrests <- melt(USArrests, id.vars=c("ID"))[,-2]
USArrests$time <- c(matrix(rep(0,50)), matrix(50:99))
m1 <- lme(value ~ time, data=USArrests, random = ~1|ID)
print(summary(m1))
m2 <- lmer(value ~ time +(1|ID), data = USArrests, REML=F)
print(summary(m2))
然后我将它导入 Stata 并使用代码:
mixed value time || id:time
即使在 R 中,模型也略有不同,尽管与 STATA 相比,差异很大。为什么会存在这种差异?它在用于估计最大似然的算法中吗?
谢谢!
【问题讨论】:
-
stata 函数的输出是什么?什么是更容易比较的系数? (我没有安装 stata 但了解其中的区别会很好)。答案很可能在dokumentation。
-
我不了解Stata,但是
lme和lmer的区别是估计方法造成的。 lme 模型使用 ML 估计,lmer 模型使用 REML 估计。更改REML = T会得到完全相同的输出。