【发布时间】:2020-01-21 10:28:39
【问题描述】:
我对@987654322@ 家人的gam() 分析遇到了麻烦,奇怪的是它以前运行良好。重启R后,各种错误和警告信息都出现了。
我正在分析一个比例对另一个比例 (0,1) 的影响以及一个带有 betaregression 系列的随机效应(因子)。数据如下所示。
> 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 上的信息,搜索了互联网,但找不到任何适合我的东西。我已经尝试过更改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)。
但是,没有+ s(Area, bs="re")的gam至少不会产生错误(只有警告),但是当我尝试时会出现错误
coeftest(mygam, vcov = sandwich)
它告诉我Error in bread. %*% meat. : non-conformable arguments。没有sandwich 的coeftest 工作正常,所以它与vcov = sandwich 有关。互联网搜索并没有给出太多信息,遗憾的是没有给出答案。
有人知道这里发生了什么吗?我很想听听想法和想法。最后,我尝试运行gam 和Area 作为随机效果,但我认为其他警告和错误消息可能会导致我们遇到问题。
【问题讨论】:
标签: r warnings gam random-effects betareg