【问题标题】:How to quit R script when one R package not installed successfully?一个 R 包未成功安装时如何退出 R 脚本?
【发布时间】:2019-03-14 06:42:36
【问题描述】:
#!/usr/bin/Rscript
install.packages("Deriv")
install.packages("vegan")
packageurl <- "https://cran.r-project.org/src/contrib/Archive/mirt/mirt_1.27.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

以上脚本用于安装包。

如果没有成功安装任何软件包(警告无关紧要),如何使此脚本停止运行(或退出)?

【问题讨论】:

    标签: r try-catch install.packages


    【解决方案1】:

    我会在每次安装后检查已安装的软件包,并使用stop 来停止脚本并显示有意义的消息。例如

    install.packages("Deriv")
    
    if (!"Deriv" %in% installed.packages()[, "Package"]) {
      stop("Package Deriv not installed successfully.")
    }
    

    【讨论】:

      【解决方案2】:

      这是你要找的吗?

      if (
        !all(
          c('Deriv', 'vegan', 'mirt') %in% installed.packages()
        )
      ) q()
      

      【讨论】:

      • 我会在每次调用 install.packages 后测试是否安装了包,因为这是 OP 想要的规范。真的没有必要打电话给q()
      • 我会在 if 语句中使用 stop("meaningful message")。 @kittygirl
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-22
      相关资源
      最近更新 更多