首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当包"MuMin“安装在R中时,MuMin失败

当包"MuMin“安装在R中时,MuMin失败
EN

Stack Overflow用户
提问于 2017-05-24 19:05:03
回答 2查看 303关注 0票数 1

安装"MuMIn“包时,使用predict.gls时会收到错误消息。

以下(Ex. )( 1)工程:

代码语言:javascript
复制
### 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)生成错误消息,尽管库(MuMIn)行是与Ex的唯一不同之处。1:

代码语言:javascript
复制
### 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时使用“预测”似乎存在不兼容性。

有趣的是,以下(Ex。( 3)直接调用predict.gls,将其还原为工作状态:

代码语言:javascript
复制
### 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 32平台

arch x86_64

os mingw32

系统x86_64,mingw32

状态

专业3

未成年人4.0

2017年

04年月

第21天

svn rev 72570

语言R

version.string R版本3.4.0 (2017-04-21)昵称“你愚蠢的黑暗”

顺便说一句,我的旧电脑上没有这个问题,它使用了一个旧版本的R。我有个朋友试着用Ex。在他的电脑上,也产生了一条错误信息。

对Ex中错误消息的原因的任何洞察。2,以及如何在不诉诸Ex解决办法的情况下修复它。3,非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-24 19:59:18

"MuMIn“实现了自己的predict.gls方法,该方法允许使用se.fit,但事实证明,它可能有一个错误。如果您在 "MuMIn“之后加载"nlme”,将使用"nlme“中的原始方法。

编辑:,现在已经修好了。请将MuMIn更新为1.16.5版,来自R:install.packages("MuMIn", repos="http://R-Forge.R-project.org")

票数 2
EN

Stack Overflow用户

发布于 2017-05-24 20:48:00

绕过这个问题的一种方法是使用函数MuMIn:::predict.gls将响应变量follicles添加到newdata数据集中。可以向响应变量输入随机值,它们将不用于计算。

代码语言:javascript
复制
library(nlme)
library(MuMIn)

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), follicles=rep(1,5))
predict(fm1, newOvary)

############
[1]  9.441686 13.116003 11.316793 13.116003 14.991110
attr(,"label")
[1] "Predicted values"

这些估计与nlme:::predict.gls给出的估计完全相同

代码语言:javascript
复制
nlme:::predict.gls(fm1)
[1]  9.441686 13.116003 11.316793 13.116003 14.991110
attr(,"label")
[1] "Predicted values"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44166621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档