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



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

随机效应的推理:整个数据集由多个先前独立的数据集组成。此外,单个站点ID在时间上被复制3-40次。更重要的是,一些站点ID被复制到不同的数据集ID中。

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中指定嵌套的随机效果?

我发现了这个https://thepsychologist.bps.org.uk/volume-21/edition-3/methods

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

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

相关内容

  • 没有找到相关文章

最新更新