LMERConvenienceFunctions中的前向和后向拟合函数错误:模型不是mer对象。

3
我尝试使用LMERConvenienceFunctions包中的bfFixefLMER_t.fnc或fitLMER.fnc。在这两种情况下,我都会收到一个错误,指出“输入模型不是mer对象”。
我尝试了http://artax.karlin.mff.cuni.cz/r-help/library/LMERConvenienceFunctions/html/00Index.html中的示例,但我得到了相同的错误。
例如,当我运行示例时:
fitLMER.fnc(mB, backfit.on = "t", item = FALSE, 
    ran.effects = c("(FreqB | Subject)",
    "(LengthB | Subject)", "(WMC | Item)"))

这是我得到的结果。

Warning in fitLMER.fnc(mB, backfit.on = "t", item = FALSE, ran.effects = c("(FreqB | Subject)",  :resetting argument "method" to "t"

**backfitting fixed effects**

Warning in bfFixefLMER_t.fnc(model = model, item = item, method = method,  :factor variable with more than two levels in model terms, backfitting on t-values is not appropriate, please use function "bfFixefLMER_F.fnc" instead.

Error in bfFixefLMER_t.fnc(model = model, item = item, method = method,  : the input model is not a mer object

有人用这些函数有过类似的经历吗?

有一些函数可以反向拟合固定效应和正向拟合随机效应。是否有一种方法可以对 glmer 模型进行固定效应的正向拟合?或者这在统计学上是毫无意义的?我正在进行生态建模,所以我对高级统计学的理解不多,如果有人能用通俗易懂的语言解释一下就好了。

sessionInfo()

R版本3.0.1(2013-05-16) 平台:x86_64-pc-linux-gnu(64位)

语言环境: [1] LC_CTYPE = en_GB.UTF-8 LC_NUMERIC = C [3] LC_TIME = en_US.UTF-8 LC_COLLATE = en_GB.UTF-8 [5] LC_MONETARY = en_US.UTF-8 LC_MESSAGES = en_GB.UTF-8 [7] LC_PAPER = C LC_NAME = C [9] LC_ADDRESS = C LC_TELEPHONE = C [11] LC_MEASUREMENT = en_US.UTF-8 LC_IDENTIFICATION = C

附加基础包: [1] stats graphics grDevices utils datasets methods base

其他附加包: [1] LMERConvenienceFunctions_2.0 lme4_0.99999911-8 [3] RcppEigen_0.3.1.2.1 Rcpp_0.10.4 [5] Matrix_1.0-12 lattice_0.20-23 [7] LCFdata_1.0

通过命名空间加载(而不是附加)的包: [1] grid_3.0.1 MASS_7.3-28 minqa_1.2.1 nlme_3.1-111 rpart_4.1-2
[6] splines_3.0.1 tools_3.0.1


你更新了lme4到最新的即将发布的版本(>1.0?)吗?这可能会破坏LMERConvenienceFunction。我认为这将成为一个编程问题,而不是统计问题。请提供sessionInfo()信息? - Ben Bolker
我没有尚未发布的lme4版本。这个问题在SO上更合适吗?如果是,我可以自己移动它还是需要管理员来处理? - Anto
我已经添加了sessionInfo()和完整的警告/错误列表,当我运行示例时会得到这些信息。也许它会说更多关于可能存在冲突的地方。 - Anto
1个回答

4
您正在使用一款(较老的)更新过的 lme4 包版本,该版本返回 merMod 对象而非 mer 对象,因此与 LMERConvenienceFunctions 不兼容。使用即将发布的 1.0-4 版本时会出现相同错误。
如果我安装来自 CRAN 的最新版本(0.999999-2),就不会出现错误。我建议您删除当前的 lme4 并从 CRAN 安装最新版本,并检查其版本号:
> detach("package:lme4",unload=TRUE)
> remove.packages("lme4")
> install.packages("lme4")
> packageVersion("lme4")
[1] ‘0.999999.2

这应该可以解决你的问题。但请注意,你将失去新版本带来的优势

此外,在未来的几天里,新的lme4应该会出现在CRAN上,如果你更新了软件包,将再次破坏LMERConvenienceFunctions。然而,我想LMERConvenienceFunctions的作者很快就会更新他们的软件包以保持兼容性。


谢谢。它起作用了。我通常会保持我的程序包更新,但这个可能被错过了。在 lme4 中注意到了更多关于使用 $@ 提取汇总结果的变化。 - Anto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接