如何防止 R 尝试加载 mgcv
How to prevent R from trying to load mgcv
我需要在 R 中 运行 2 个不同的脚本而不重新启动会话。在第一个中我使用包 mgcv
,在第二个中我需要 gam
。我写了一个脚本,它分离和删除包 mgcv
并安装和加载 gam
。
但是在我想要 运行 gam() 函数之后,我仍然收到一条错误消息,告诉我找不到 mgcv
。我将其解释为 R 正在寻找用于安装它的 mgcv
包...
这是一个 MWE:
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)
哪个returns错误:
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 建议的解决方案不是一个选项。
您可以通过以下语法告诉 R 从特定包中获取函数:
package::function
所以在你的情况下(不要分离 mgtv
)并使用
mgcv::gam(...)
gam::gam(...)
如果函数未在函数的命名空间中导出,您还可以尝试 package:::function
和 3 :
我需要在 R 中 运行 2 个不同的脚本而不重新启动会话。在第一个中我使用包 mgcv
,在第二个中我需要 gam
。我写了一个脚本,它分离和删除包 mgcv
并安装和加载 gam
。
但是在我想要 运行 gam() 函数之后,我仍然收到一条错误消息,告诉我找不到 mgcv
。我将其解释为 R 正在寻找用于安装它的 mgcv
包...
这是一个 MWE:
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)
哪个returns错误:
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 建议的解决方案不是一个选项。
您可以通过以下语法告诉 R 从特定包中获取函数:
package::function
所以在你的情况下(不要分离 mgtv
)并使用
mgcv::gam(...)
gam::gam(...)
如果函数未在函数的命名空间中导出,您还可以尝试 package:::function
和 3 :