R: программирование вложенного случайного эффекта в гамме (gamcova) - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь выполнить вложенные случайные эффекты в R с помощью функции mgcv :: gamm. В частности, эта функция предположительно является расширением ANCOVA для GAMM, что приводит к GAMMCOVA.

Обоснование случайных эффектов: весь набор данных состоит из нескольких ранее отдельных наборов данных. Кроме того, один идентификатор сайта временно реплицируется в 3-40 раз. Более того, некоторые идентификаторы сайта копируются в разные идентификаторы данных.

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?

...