我在gam()
与家人的分析中遇到了麻烦,betar
奇怪的是它之前运行良好。重新启动 R 后,出现了各种错误和警告消息。
我正在分析一个比例对另一个比例 (0,1) 的影响以及一个带有 beta 回归系列的随机效应 (因子)。数据如下所示。
> 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)。
但是,gam
没有+ s(Area, bs="re")
至少不会产生错误(只有警告),但是当我尝试时会出现错误
coeftest(mygam, vcov = sandwich)
它告诉我Error in bread. %*% meat. : non-conformable arguments
。Acoeftest
没有sandwich
工作正常,所以它与vcov = sandwich
. 互联网搜索并没有给出太多信息,不幸的是没有给出答案。
有谁知道这里发生了什么?我很想听听想法和想法。最后,我尝试将gam
withArea
作为随机效果运行,但我认为其他警告和错误消息可能会导致我们遇到问题。