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