在R中调用library()并将变量作为参数

Dan*_*anB 16 r

我想取得一些成果

libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest")
for (i in libs) {
  if(!is.element(i, .packages()) {
    install.packages(i)
  }
  library(i)
}
Run Code Online (Sandbox Code Playgroud)

对库(i)的调用不会将i替换为存储在变量i中的值.相反,它试图加载名为"i"的库

有没有办法强制我被视为变量并在调用库之前解决?

jor*_*ran 28

怎么样library(...,character.only = TRUE)

  • 谢谢!R 文档再次让我失望...... (2认同)

Sta*_*lav 5

这是完整的代码(结合 joran 的答案并添加 "all.available = TRUE" )。

libs = c("AER", "gbm", "caret", "MASS", "nnet", "randomForest")
for (i in libs){
  if( !is.element(i, .packages(all.available = TRUE)) ) {
    install.packages(i)
  }
  library(i,character.only = TRUE)
}
Run Code Online (Sandbox Code Playgroud)