我进行了一项实验,从两个不同的来源人群中抚养了不同的家庭。每个家庭被分配两种治疗方法之一。实验结束后,我测量了每个人的几个特征。为了测试治疗或来源的效果以及它们之间的相互作用,我使用了以家庭为随机因素的线性混合效应模型,即
lme(fixed=Trait~Treatment*Source,random=~1|Family,method="ML")
到目前为止,到目前为止,我现在必须计算相对方差分量,即通过处理或源以及交互作用来解释的变化百分比。
没有随机效应,我可以轻松地使用平方和(SS)来计算每个因素所解释的方差。但是对于混合模型(带有ML估计),没有SS,因此我认为我也可以使用Treatment和Source作为随机效应来估计方差,即
lme(fixed=Trait~1,random=~(Treatment*Source)|Family, method="REML")
但是,在某些情况下,lme无法收敛,因此我使用了lme4软件包中的lmer:
lmer(Trait~1+(Treatment*Source|Family),data=DATA)
在哪里使用摘要功能从模型中提取方差:
model<-lmer(Trait~1+(Treatment*Source|Family),data=regrexpdat)
results<-VarCorr(model)
variances<-results[,3]
我得到与VarCorr函数相同的值。然后,我使用这些值以总和作为总变化量来计算实际的变化百分比。
我在努力挣扎的是对初始lme模型(以治疗和来源为固定效应)和随机模型以估计方差成分(以治疗和来源为随机效应)的结果的解释。我发现在大多数情况下,由每个因素解释的方差百分比与固定效应的重要性不符。
例如,对于性状HD,最初的lme暗示了相互作用的趋势以及对治疗的重要性。使用后退程序,我发现“治疗”有接近明显的趋势。但是,在估计方差成分时,我发现Source具有最高的方差,占总方差的26.7%。
LME:
anova(lme(fixed=HD~as.factor(Treatment)*as.factor(Source),random=~1|as.factor(Family),method="ML",data=test),type="m")
numDF denDF F-value p-value
(Intercept) 1 426 0.044523 0.8330
as.factor(Treatment) 1 426 5.935189 0.0153
as.factor(Source) 1 11 0.042662 0.8401
as.factor(Treatment):as.factor(Source) 1 426 3.754112 0.0533
和lmer:
summary(lmer(HD~1+(as.factor(Treatment)*as.factor(Source)|Family),data=regrexpdat))
Linear mixed model fit by REML
Formula: HD ~ 1 + (as.factor(Treatment) * as.factor(Source) | Family)
Data: regrexpdat
AIC BIC logLik deviance REMLdev
-103.5 -54.43 63.75 -132.5 -127.5
Random effects:
Groups Name Variance Std.Dev. Corr
Family (Intercept) 0.0113276 0.106431
as.factor(Treatment) 0.0063710 0.079819 0.405
as.factor(Source) 0.0235294 0.153393 -0.134 -0.157
as.factor(Treatment)L:as.factor(Source) 0.0076353 0.087380 -0.578 -0.589 -0.585
Residual 0.0394610 0.198648
Number of obs: 441, groups: Family, 13
Fixed effects:
Estimate Std. Error t value
(Intercept) -0.02740 0.03237 -0.846
因此,我的问题是,我在做什么正确吗?还是我应该使用另一种方法来估计每个因素(即治疗,来源及其相互作用)所解释的方差量。例如,效果大小是否是更合适的选择?
处理因子的自由度是源因子的40倍(伪复制?)。无疑,这会降低治疗的P值。