我花了一段时间尝试解决这个有关分析三向嵌套方差分析的问题。这是一个假数据集和 R 示例:
set.seed(100)
ps=factor(paste("countries_",rep(letters[1:3],each=200),sep=""))
vs=factor(paste("cities_",rep(rep(letters[1:4],each=50),3),sep=""))
qs=factor(paste("neighborhoods_",rep(rep(rep(letters[1:5],each=10),4),3),sep=""))
x=vector(mode="numeric",length=600)
for (i in 1:600) x[i]=rnorm(1)*2+as.integer((i-1)/10)
dataset=data.frame(countries=ps,cities=vs,neighborhoods=qs,values=x)
attach(dataset)
所有三个因素都是随机的,第二个因素嵌套在第一个因素中,第三个因素嵌套在第二个因素中。因此我调整了以下模型(使用 lme4):
library(lme4)
mod=lmer(x~(1| countries)+(1| countries: cities)+(1| countries: cities: neighborhoods))
我决定使用 lmerTest 包测试(三个)随机效应(但执行标准 LRT 显然会得到相同的结果):
library(lmerTest)
rand(mod)
这会导致以下结果:
ANOVA-like table for random-effects: Single term deletions
Model:
1 | countries) + (1 | countries:cities) + (1 | countries:cities:neighborhoods)
npar logLik AIC LRT Df Pr(>Chisq)
<none> 5 -1370.4 2750.8
(1 | countries) 4 -1378.0 2764.0 15.151 1 9.924e-05 ***
(1 | countries:cities) 4 -1422.4 2852.8 103.999 1 < 2.2e-16 ***
(1 | countries:cities:neighborhoods) 4 -1440.5 2888.9 140.085 1 < 2.2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
我不明白这些结果,因此我怀疑某个地方有错误。事实上,“国家”效应应该更强,然后是“城市”效应,然后是“社区”效应,而轻轨却呈现出相反的趋势(即“国家”效应看起来较弱, ETC。)。另外,我仍然无法理解为什么所有 Chi2 只有 1 df。这对我来说没有任何意义。
对此的任何帮助都将受到(非常)欢迎。
最好的,埃里克。
想了很久,我想我开始明白了。
LRT 与效应大小不成正比,但这些是与效应重要性相关的方差分量,这可以在拟合模型的摘要中看到。
此外,对于每个随机因素,模型拟合过程估计该因素的方差,即仅一个参数。这解释了为什么每种情况下都是 1 df。
HTH,埃里克。