首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何逐步建立线性混合效应模型

如何逐步建立线性混合效应模型
EN

Stack Overflow用户
提问于 2021-07-13 06:19:14
回答 1查看 28关注 0票数 0

Im模拟了一种在线性混合效应模型中按固定序列顺序增加一组项的方法,在R.中使用nmle(),作者说,她将变量划分为四个类,每个类中都存在一些主效应及其二次和线性项以及它们之间的一阶交互作用。像"A,B,C,D, A^2,B^2,C^2,D^2" A+B,B+C,C+D A*B,B*C,C*D这样的东西

您可以在Table S2中看到详细信息。

在TableS2中有交互术语,我不知道是否应该使用:或*来显示这种关系,以及表中+的含义。这是我累了的代码

代码语言:javascript
复制
mod1<-lme(C50_0.45~1,random = ~  1|sitecode,data=practice,method="ML")
mod2<-lme(C50_0.45~MAT,random = ~  1|sitecode,data=practice,method="ML")
mod3<-lme(C50_0.45~MAP,random = ~  1|sitecode,data=practice,method="ML")
mod4<-lme(C50_0.45~MGSL,random = ~  1|sitecode,data=practice,method="ML")
mod5<-lme(C50_0.45~MGDD,random = ~  1|sitecode,data=practice,method="ML")
mod6<-lme(C50_0.45~MAT+I(MAT^2),random = ~  1|sitecode,data=practice,method="ML")
mod7<-lme(C50_0.45~MAP+I(MAP^2),random = ~  1|sitecode,data=practice,method="ML")
mod8<-lme(C50_0.45~MGSL+I(MGDD^2),random = ~  1|sitecode,data=practice,method="ML")
mod9<-lme(C50_0.45~MGDD+I(MGSL^2),random = ~  1|sitecode,data=practice,method="ML")
mod10<-lme(C50_0.45~MAT+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod11<-lme(C50_0.45~MGDD+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod12<-lme(C50_0.45~MGSL+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod13<-lme(C50_0.45~MAT*MAP,random = ~  1|sitecode,data=practice,method="ML")
mod14<-lme(C50_0.45~MGDD*MAP,random = ~  1|sitecode,data=practice,method="ML")
mod15<-lme(C50_0.45~MGSL*MAP,random = ~  1|sitecode,data=practice,method="ML")
AIC(mod1)-AIC(mod2)
AIC(mod1)-AIC(mod3)
AIC(mod1)-AIC(mod4)
...
anova(mod1,mod2)
anova(mod1,mod3)
anova(mod1,mod4)
...

这就是我试着在AIC()中测试的方法,直到找到AIC中的显著项,并在x-平方似然比删除测试(LRT)中有意义,然后将这些项合并为一个新的模型。在这些测试之后,“另一组变量表示对函数的不同控制,然后重复这个过程。”

但是我不能重复作者在表S3-6中所做的结果。

这是data https://datadryad.org/stash/dataset/doi:10.5061/dryad.s7867 (Manning等人)。2015)。

例如,FIRST

代码语言:javascript
复制
mod3<-lme(C50_0.45~MAP,random = ~  1|sitecode,data=practice,method="ML")
mod7<-lme(C50_0.45~MAP+I(MAP^2),random = ~  1|sitecode,data=practice,method="ML")
mod10<-lme(C50_0.45~MAT+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod11<-lme(C50_0.45~MGDD+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod12<-lme(C50_0.45~MGSL+MAP,random = ~  1|sitecode,data=practice,method="ML")
mod13<-lme(C50_0.45~MAT*MAP,random = ~  1|sitecode,data=practice,method="ML")
mod14<-lme(C50_0.45~MGDD*MAP,random = ~  1|sitecode,data=practice,method="ML")
mod15<-lme(C50_0.45~MGSL*MAP,random = ~  1|sitecode,data=practice,method="ML")
AIC(mod1)-AIC(mod3)
[1] 6.281076
AIC(mod1)-AIC(mod7)
[1] 4.440664
AIC(mod1)-AIC(mod10)
[1] 4.319208
AIC(mod1)-AIC(mod11)
[1] 4.390488
AIC(mod1)-AIC(mod12)
[1] 4.332252
AIC(mod1)-AIC(mod13)
[1] 3.261881
AIC(mod1)-AIC(mod14)
[1] 3.205841
AIC(mod1)-AIC(mod15)
[1] 4.132244

所有这些模型在轻铁中都很重要,但如果我在模型中保留这些术语,那么mod3中的映射与mod3 7、10、11、12、13、14、15中的映射是相同的,并且是像这样的一级最终模型。

代码语言:javascript
复制
mods1<-lme(C50_0.45 ~MAP+MAP+I(MAP^2)+MAT+MAP+MGDD+MAP+MGDD+MAP+MGSL+MAP+MAT:MAP+MGDD*MAP+MGDD*MAP+MGSL*MAP,random = ~  1|sitecode,data=practice,method="ML")

我不知道启动轻轨是否正确,因为例如,删除(MGSL+MAP)或(MAT+MAP)就像只删除MGSL或MAT一样

正如您在数据中所看到的,我不知道如何按照作者在表 S2中描述的方式添加类型的,这可能是我无法复制正确的最终模型的原因

关于我的模型,因为这些问题,我试过了,但你知道,有时删除必要的术语,或者只是不能删除一些不必要的terms.And在C50_250或在总体C中,我可能复制相同的最终模型,但在表中,但它不工作,在其他。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-13 19:01:05

我能够使用下面的模型在表S3中再现这些值。也许这将帮助您了解如何复制其馀的方法。data引用原始表,从您提供的链接中读取。

代码语言:javascript
复制
library(dplyr)
library(lme4)
practice <- dplyr::filter(data, datatype=="Initial")
model <- lme4::lmer(TotalC ~ MAT + I(MAT^2) + moist + I(moist^2) + PH + I(PH^2) + (1|site), data=practice)

我假设表S3到S6中提到的每个模型的响应是不同的。S3似乎使用了TotalC,但据推测,C250、C50-250等是对其他型号的响应。

在回答您关于指定交互条件的问题时,此链接对于理解如何在R:https://conjugateprior.org/2013/01/formulae-in-r-anova/中指定公式非常有用

简而言之,A*B相当于A+B+ A:B

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68559784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档