R:在gamm中编程嵌套随机效应(gamcova)

R:在gamm中编程嵌套随机效应(gamcova),r,gam,mgcv,random-effects,ancova,R,Gam,Mgcv,Random Effects,Ancova,我试图用mgcv::gamm函数在R中执行嵌套的随机效果。具体而言,该函数被认为是ANCOVA对GAMM的扩展,从而产生了GAMMCOVA 随机效应的推理:整个数据集由多个以前独立的数据集组成。此外,单个siteID在任何地方临时复制3-40次。更重要的是,一些siteID被复制到不同的DataSetid中 gamm(response ~ s(predictor1,bs="cr") + s(predictor2,bs="cr") + bs(covariate,degree=3,df=4),

我试图用mgcv::gamm函数在R中执行嵌套的随机效果。具体而言,该函数被认为是ANCOVA对GAMM的扩展,从而产生了GAMMCOVA

随机效应的推理:整个数据集由多个以前独立的数据集组成。此外,单个siteID在任何地方临时复制3-40次。更重要的是,一些siteID被复制到不同的DataSetid中

gamm(response ~ 
s(predictor1,bs="cr") + 
s(predictor2,bs="cr") + 
bs(covariate,degree=3,df=4), # covariate that makes this a gammcova
random=list(datasetID=~1, siteID=~1), # this works but is not nested
select=T, method="REML",
family=quasibinomial(link="logit"))
我还尝试了使用
random=~(1 | datasetID/siteID)
进行此操作,但返回了一个错误

Error in mgcv::gamm(ci_est ~ s(predictor1, bs = "cr") + s(predictor2, bs = "cr") +  : 
  gamm() can only handle random effects defined as named lists
我知道
s(siteID,datasetID,bs=“re”)
对于数据样本量来说系数太多了。但是,我不认为这是指定嵌套的随机效果,对吗

Error in lme.formula(fixed = fixed, random = random, data = data, correlation = correlation,  : 
  fewer observations than random effects in all level 6 groups
那么,有没有办法在mgcv::gamm中指定嵌套的随机效果

我找到了这个

据推测,这是gam中包含协变量的代码

s(x,m=3,k=6,bs="ps",fx=T)

你看到这个了吗?然而,我在他们自己的评论中说,“这并没有回答mgcv的问题,但可能会帮助任何不介意转向gamm4的人”。我当然想坚持使用mgcv。gamm4软件包是由mgcv的作者编写的,使用mgcv函数来设置GAMM,但拟合是通过lme4软件包完成的,这对于拟合非高斯GAMM更好。这里没有说明为什么您希望通过
glmmPQL()
lme()
使用PQL安装gamm?这不是一个很重要的原因,但我一直在使用caret::varimp函数,它不适用于我发现的gamm。