【发布时间】:2017-05-24 19:05:03
【问题描述】:
在安装包“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"
但是,以下(示例 2)会产生错误消息,即使 library(MuMIn) 行是与示例的唯一区别。 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' 似乎不兼容
有趣的是,以下直接调用 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 输出:
平台 x86_64-w64-mingw32
拱 x86_64
操作系统 mingw32
系统 x86_64、mingw32
状态
专业 3
次要 4.0
2017 年
04月
第 21 天
svn 版本 72570
语言 R
version.string R 版本 3.4.0 (2017-04-21)
昵称 你 愚蠢的 黑暗
顺便说一句,我的旧电脑上没有这个问题,它使用的是旧版本的 R。我有一个朋友尝试了 Ex。 2 在他的电脑上,它也产生了一条错误消息。
对 Ex. 中错误消息原因的任何见解。 2,以及如何在不求助于 Ex 中的解决方法的情况下修复它。 3,不胜感激!
【问题讨论】: