R中使用gamm或lme进行嵌套随机效果的语法

时间:2019-12-06 15:19:59

标签: r mixed-models gam

我想在R中为gamm设置三个随机效果,包括一个嵌套在另一个中的效果。

对于独立的随机效果,gamm包中的mgcv函数允许使用lme中的列表语法指定随机效果,即:

model<- gamm(y~s(x), random = list(ran1=~1,ran2=~1), data=data)

这很好。但是,我想将“ ran2”嵌套在第三个变量“ ran3”中。对于gammlme来说,我似乎都找不到任何示例,这些示例说明了如何将随机效果嵌套在列表语法中。

这些都不起作用:

model<- gamm(y~s(x), random = list(ran1=~1,ran2/ran3=~1), data=data) #error unexpected '='
model<- gamm(y~s(x), random = list(~1|ran1,~1|ran2/ran3), data=data) #error must be a named list

运行:

model<- gamm(y~s(x), random = list(ran1=~1,ran3=~ran2), data=data)

但是产生的警告是观察结果少于随机效应(我的数据不应该如此),所以我认为语法没有达到我想要的效果。

我想一个简单的选择可能是创建一个ran3的版本,该版本必须嵌套在ran2中,即ran3的每个级别仅出现在ran2的单个级别中。这会使gamm识别嵌套结构吗?

0 个答案:

没有答案