【问题标题】:R: using character vector subset within 'require' function not working [duplicate]R:在'require'函数中使用字符向量子集不起作用[重复]
【发布时间】:2015-05-30 16:46:29
【问题描述】:

为了让我的功能正常工作,我首先需要加载一些包。我想自动加载这个包。也就是说,在代码的第一部分,它将查找是否加载了所需的包,如果尚未加载则加载它。我想出了下面的代码

  #Install and/or load necessary packages
  packages <- c("chron","ncdf","rgdal")
  i.count <- 1
  while (i.count <= length(packages)) {
    if (packages[i.count] %in% rownames(installed.packages()) == FALSE) {
      install.packages(packages[i.count])
      require(packages[i.count])
    } else if (packages[i.count] %in% (.packages()) == FALSE) {
      require(packages[i.count])
    }
    i.count = i.count + 1
  } 

鉴于上述代码,我在运行require(packages[i.count]) 行时出现以下错误

错误:

    c("Loading required package: [", "Loading required package: packages", "Loading required package: i.count")
Failed with error:  ‘'package' must be of length 1’
In addition: Warning message:
In if (!loaded) { :
  the condition has length > 1 and only the first element will be used

感谢任何帮助。

【问题讨论】:

    标签: r function packages


    【解决方案1】:

    试试:

    require(packages[i.count],character.only=TRUE)
    

    【讨论】:

    • 效果很好。非常感谢!
    猜你喜欢
    • 2020-10-17
    • 2021-07-20
    • 2019-07-20
    • 2021-12-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多