首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止R试图加载mgcv

如何防止R试图加载mgcv
EN

Stack Overflow用户
提问于 2015-10-15 13:05:11
回答 1查看 170关注 0票数 1

我需要在R中运行两个不同的脚本,而不需要重新启动会话。在第一种情况下,我使用包mgcv,在第二种情况下,我需要gam。我编写了一个脚本,它分离并删除包mgcv,并安装和加载gam。但是,在我想运行gam()函数之后,我仍然会收到一个错误,告诉我没有找到mgcv。我将其解释为寻找用于安装mgcv包的R.

这是一辆MWE:

代码语言:javascript
复制
    install.packages(paste(path.pkgs,'mgcv_1.8-7.zip',sep=''),repos=NULL)
    require(mgcv)
    ## FIRST SCRIPT ##

    detach(package:mgcv)
    remove.packages('mgcv')
    unloadNamespace('mgcv')

    require(gam)
    ## SECOND SCRIPT ##
    gam(as.formula(t.thr.fm),data=data)

返回错误:

代码语言:javascript
复制
   Error in get(method, envir = home) : 
   cannot open file 'H:/data/Documents/R/R-3.1.3/library/mgcv/R/mgcv.rdb': No such file or directory

有什么办法来代替重新开始会议吗?

编辑:

不幸的是,Floo0建议的使用package::function的解决方案不是一个选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-15 13:13:43

您可以通过以下语法告诉R从特定的包中获取一个函数:

代码语言:javascript
复制
package::function

因此,在您的情况下(不要分离mgtv)并使用

代码语言:javascript
复制
mgcv::gam(...)
gam::gam(...)

如果函数未在函数的命名空间中导出,也可以使用3 package:::function尝试:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33149369

复制
相关文章

相似问题

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