很抱歉提问。我是R初学者。我试图加载库运行时, 例如
x<-"snow"; library(eval(x))
结果:
Error in library(eval(x)) : 'package' must be of length 1.
如果有人给我一些解决方案,我将不胜感激。
答案 0 :(得分:9)
使用character.only=TRUE
。请参阅图书馆的帮助页面,其中包含?library
。
> library(x, character.only=TRUE)
答案 1 :(得分:0)
我建议使用require
代替library
。
require
返回一个逻辑,指示包是否已成功加载,即您可以在
if (require (x, character.only = TRUE))
...
相反,如果包不可用,library
将默认停止并显示错误(您可以通过logical.return = TRUE
更改此行为)。
如果软件包已经加载,并且这部分代码经常执行,速度可能很重要:如果软件包已加载,require
几乎比笔记本电脑上的library
快20倍已经。如果没有,则会调用library
。