У меня проблемы с моим gam()
анализом с семьей betar
, и странная вещь в том, что раньше он работал идеально. После того, как я перезапустил R, появились все виды сообщений об ошибках и предупреждений.
Я анализирую влияние пропорции на другую пропорцию (0,1) и случайный эффект (фактор) с семейством бетарегрессии. Данные показаны ниже.
> str(data_original)
'data.frame': 35 obs. of 17 variables:
$ ProportionBirdsScavenging: num 0.6619 0.4062 0.6943 0.0143 0.0143 ...
$ pointWeight : int 3 233 10 89 4 22 44 99 89 17 ...
$ Area : Factor w/ 6 levels "Hamert","KempenBroek",..: 3 1 1 1 1 1 1 1 1 2 ...
$ OverheadCover : num 0.7 0.671 0.679 0.79 0.62 ...
Это мой звонок
mygam <- gam(ProportionBirdsScavenging ~ OverheadCover + s(Area, bs="re"), family=betar(link="logit"), data = data_original, weights = pointWeight)
Когда я запускаю это, он показывает мне Error in is.factor(...) : unused argument (bs = "re")
. Я прочитал информацию о ?gam::s
, ?is.factor
, ?mgcv::gam
, искал inte rnet, но не смог найти ничего, что работает для меня. Я экспериментировал с изменением структуры Area
, пробовал разные параметры, обновлял все пакеты, копировал точный код из рабочих скриптов онлайн и заполнял мои переменные. Этот последний метод показал мне, что он, вероятно, имеет отношение к моим данным, а не к моему вызову. Насколько я понимаю, структура данных должна подходить для такого анализа. Кроме того, он отлично работал с точно такими же данными (и сценарием) раньше.
Если я попробую вызов без случайного множителя
mygam <- gam(ProportionBirdsScavenging ~ OverheadCover, family = betar(link="logit"), data = data_original, weights = pointWeight)
Он показывает мне Warning message: In model.matrix.default(mt, mf, contrasts) : non-list contrasts argument ignored
, но работает отлично , После некоторых онлайн-исследований я обнаружил, что это, вероятно, связано с чем-то новым (что могло бы объяснить, почему оно работало по-другому после перезапуска R). Видимо, это сообщение раньше было тихим, но с новым обновлением больше нет. Кто-нибудь может это подтвердить? Должен ли я беспокоиться об этом предупреждении?
Более того, если я сделаю gam.check
, это даст мне Error in xy.coords(x, y, xlabel, ylabel, log) : 'x' and 'y' lengths differ
, что странно, потому что длины равны (оба 35).
Однако gam
без + s(Area, bs="re")
по крайней мере не выдает ошибку (только предупреждение), но ошибка возникает, когда я пытаюсь
coeftest(mygam, vcov = sandwich)
Это говорит мне Error in bread. %*% meat. : non-conformable arguments
. A coeftest
без sandwich
работает нормально, поэтому имеет отношение к vcov = sandwich
. Целочисленный rnet поиск мало что дает и, к сожалению, не дает ответа.
Кто-нибудь имеет представление о том, что здесь происходит? Я хотел бы услышать мысли и идеи. В конце я пытаюсь запустить gam
с Area
как случайный эффект, но я думаю, что другие предупреждения и сообщения об ошибках могут привести нас к проблеме.