安装包“MuMIn”时使用 predict.gls 时收到错误消息。
以下(例 1)有效:
### EX. 1
library(nlme)
# example code from https://stat.ethz.ch/R-manual/R-devel/library/nlme/html/predict.gls.html
fm1 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
correlation = corAR1(form = ~ 1 | Mare))
newOvary <- data.frame(Time = c(-0.75, -0.5, 0, 0.5, 0.75))
predict(fm1, newOvary)
# [1] 9.441686 13.116003 11.316793 13.116003 14.991110
# attr(,"label")
# [1] "Predicted values"
但是,以下(Ex. 2)会产生错误消息,即使 library(MuMIn) 行是与 Ex 的唯一区别。1:
### EX. 2
library(nlme)
library(MuMIn) # (This is the only thing different from Ex. 1)
# example code from https://stat.ethz.ch/R-manual/R-devel/library/nlme/html/predict.gls.html
fm1 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
correlation = corAR1(form = ~ 1 | Mare))
newOvary <- data.frame(Time = c(-0.75, -0.5, 0, 0.5, 0.75))
predict(fm1, newOvary)
# Error in eval(predvars, data, env) : object 'follicles' not found
有谁知道为什么会这样?安装 MuMIn 时使用“预测”似乎不兼容
有趣的是,以下直接调用 predict.gls 的(示例 3)将其恢复为正常工作:
### EX. 3
library(nlme)
library(MuMIn)
# example code from https://stat.ethz.ch/R-manual/R-devel/library/nlme/html/predict.gls.html
fm1 <- gls(follicles ~ sin(2*pi*Time) + cos(2*pi*Time), Ovary,
correlation = corAR1(form = ~ 1 | Mare))
newOvary <- data.frame(Time = c(-0.75, -0.5, 0, 0.5, 0.75))
nlme:::predict.gls(fm1, newOvary) # (This is the only thing different from Ex. 2)
# [1] 9.441686 13.116003 11.316793 13.116003 14.991110
# attr(,"label")
# [1] "Predicted values"
但是,我已经读到不建议使用“nlme:::predict.gls”,因为“:::”可能是“有风险的”,因为它访问的内部函数并不意味着直接可用。
这是我当前的 R.version 输出:
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 4.0
year 2017
month 04
day 21
svn rev 72570
language R
version.string R version 3.4.0 (2017-04-21) 昵称 You Stupid Darkness
顺便说一句,我的旧电脑上没有这个问题,它使用的是旧版本的 R。我有一个朋友尝试了 Ex。2 在他的电脑上,它也产生了一条错误消息。
对 Ex 中错误消息原因的任何见解。2,以及如何在不求助于 Ex 中的解决方法的情况下修复它。3、不胜感激!