繁体   English   中英

避免被要求提供 CRAN 镜像?

[英]Avoid being asked for CRAN mirror?

从终端运行 R 时,我们有时会看到

--- Please select a CRAN mirror for use in this session ---

是否有一种通用、高效且令人难忘的方式来install.packages("example")而无需记住 url 或与对话框交互?

也就是说,有没有办法安装 R package 这是:

  1. 通用(适用于 R 的任何/所有安装,与操作系统无关)
  2. 无需记忆网址
  3. 不需要与双语盒交互
  4. 不需要创建或编辑文件(例如.Rprofile

最后,理想情况下,一种简短且令人难忘的方法(或无需查找即可轻松使用)。

这是一个理想解决方案的伪代码示例(其中'force'是'选择最明显的默认值并不惜一切代价按下'的伪代码!)

force(install.packages("example"))

如果您运行help("install.packages") ,您可以看到存储库的默认值为repos = getOption("repos") 如果您按照这条线索找到help("getOption") ,它会提供更多见解。 这是repos选项的内容。

回购:

update.packages 使用的存储库的 URL。 默认为 c(CRAN="@CRAN@"),该值会导致某些实用程序提示输入 CRAN 镜像。 为避免这种情况,请设置 CRAN 镜像,例如 local({r <- getOption("repos"); r["CRAN"] <- "http://my.local.cran"; options(repos = r )})。

您可以通过进入 R 安装的“etc/”子目录看到这一点。 那里有一个名为“存储库”的文件。 虽然其他一些存储库(例如,R-Forge)具有默认 URL,但 CRAN 没有。 它显示了帮助文件引用的@CRAN@

R 文档建议您某些实用程序(例如您在命令行中遇到的)会提示您输入镜像,除非明确设置了该选项。 该文档并未指示替代解决方法。

之所以不能有一个 function 告诉它使用“最明显的默认值”,是因为实际上没有默认值。 所以像你假设的force()这样的方法是不可能的。


包含更多信息的编辑

您可以使用utils中的一些帮助程序来设置repos选项。 我不确定您的标准是否容易记住,但有chooseCRANmirror()getCRANmirrors()

# this should work
chooseCRANmirror(ind = 1)
install.packages("example")

# or this clunky approach
install.packages("example", repos = getCRANmirrors()[1,"URL"])

但老实说,你最好记住repos = https://cloud.r-project.org/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM