【问题标题】:Installing a package in R inside a script在脚本内的 R 中安装包
【发布时间】:2019-10-11 19:03:18
【问题描述】:

我是 R 的初学者。我想在特定时刻启动 R 脚本,使用 Linux 的 cron 管理它并以 Rscript name_of_the_script 启动脚本。

我已经在 Rstudio 中安装了tidyverse,带有install.packages("tidyverse")。好的,但我想安装是特定于 Rstudio 环境的。在使用脚本(不使用 Rstudio)并使用 Rscript 启动该脚本时,未安装库 tidyverse。更糟糕的是,我无法在带有install.packages("tidyverse") 的脚本中安装它。

你有什么建议?谢谢。

【问题讨论】:

  • 事实并非如此。这些软件包安装在“R”环境而不是 RStudio 中。您应该使用.libPaths() 在您的机器上指定库的位置。这应该会有所帮助。

标签: r rstudio


【解决方案1】:

事实上,该库可能已安装。如果没有更多细节,很难确定问题出在哪里,但我猜你没有在脚本中加载你的库。尝试在脚本第一行的开头添加以下内容

library(tidyverse)

【讨论】:

  • 是的,我已经包含了该行。它适用于 Rstudio,但不适用于在某个特定目录中用 Rstudio 编写的通用脚本。
  • 尝试library(tidyverse, lib.loc="path/to/your/library") 指定库的安装位置
  • 谢谢,但我怎么知道从 Rstudio 安装的位置?打开 Rstudio 后,我只输入了install.packages("tidyverse")
  • 按照@makeshift-programmer的建议,你可以在RStudio中输入.libPaths()来查看默认安装包的位置。
  • 您可能有 R 版本冲突。 Rstudio 可能正在使用特定版本,而 Rscript 可能正在使用其他版本。尝试使用 Rscript 的整个路径。 stackoverflow.com/a/26910560/7590064
【解决方案2】:

解决方案是您只需使用require() 加载您的包,而不用担心路径。

require(dplyr)

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    相关资源
    最近更新 更多