nlme 和 lme4 中的不同随机效应
different random effects in nlme and lme4
我适合这个模型 nlme
:
library(nlme)
data("Machines")
fit1 <- lme(score ~ - 1 + Machine, random=~1|Worker, data=Machines)
我可以用
得到系数
> fit1$coefficients
$fixed
MachineA MachineB MachineC
52.35556 60.32222 66.27222
$random
$random$Worker
(Intercept)
6 -8.70711058
2 -1.59425968
4 -0.06931564
1 1.21035769
3 6.21174760
5 2.94858062
现在我在 lme4
中安装了相同的模型
library(lme4)
fit2 <- lmer(score ~ -1 + Machine + (1|Worker), data=Machines)
我得到了完全相同的固定效果:
>summary(fit2)
...
Fixed effects:
Estimate Std. Error t value
MachineA 52.356 2.229 23.48
MachineB 60.322 2.229 27.06
MachineC 66.272 2.229 29.73
...
我现在想要每个工人的随机效果,它们没有显示在摘要中,但它必须是这样的:
> fit2@u
[1] -5.34898187 -0.97939105 -0.04258222 0.74355106 3.81602197 1.81138210
为什么它们与 nlme
结果不同,而固定效应相同?
使用ranef()
提取随机效应。
library(lme4)
library(nlme)
data("Machines")
fit1 <- lme(score ~ - 1 + Machine, random=~1|Worker, data=Machines)
ranef(fit1)
fit2 <- lmer(score ~ -1 + Machine + (1|Worker), data=Machines)
ranef(fit2)
我适合这个模型 nlme
:
library(nlme)
data("Machines")
fit1 <- lme(score ~ - 1 + Machine, random=~1|Worker, data=Machines)
我可以用
得到系数> fit1$coefficients
$fixed
MachineA MachineB MachineC
52.35556 60.32222 66.27222
$random
$random$Worker
(Intercept)
6 -8.70711058
2 -1.59425968
4 -0.06931564
1 1.21035769
3 6.21174760
5 2.94858062
现在我在 lme4
library(lme4)
fit2 <- lmer(score ~ -1 + Machine + (1|Worker), data=Machines)
我得到了完全相同的固定效果:
>summary(fit2)
...
Fixed effects:
Estimate Std. Error t value
MachineA 52.356 2.229 23.48
MachineB 60.322 2.229 27.06
MachineC 66.272 2.229 29.73
...
我现在想要每个工人的随机效果,它们没有显示在摘要中,但它必须是这样的:
> fit2@u
[1] -5.34898187 -0.97939105 -0.04258222 0.74355106 3.81602197 1.81138210
为什么它们与 nlme
结果不同,而固定效应相同?
使用ranef()
提取随机效应。
library(lme4)
library(nlme)
data("Machines")
fit1 <- lme(score ~ - 1 + Machine, random=~1|Worker, data=Machines)
ranef(fit1)
fit2 <- lmer(score ~ -1 + Machine + (1|Worker), data=Machines)
ranef(fit2)