我试图通过R提示符安装一个包,方法如下:

install.packages('RMySQL')

但输出如下:

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

再没有别的了!我找不到解决这个基本问题的方法。我应该输入什么来选择一个CRAN镜像?

编辑:

操作系统:Mac-OS X 10.6.8 R版本:2.15.0


您应该看到一个带有存储库列表的窗口,或者一个带有一些选项的文本菜单。但是如果没有出现,您总是可以通过使用repos参数指定从哪里下载包的镜像。通过这样做,R将不再询问您关于存储库的信息。例子:

install.packages('RMySQL', repos='http://cran.us.r-project.org')

这里有一个R的镜像列表。


以下是我所做的,基本上直接来自示例(启动)页面:

## Default repo
local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org" 
       options(repos=r)
})

在~/. rprofile中。

编辑:现在是2018年,我们可以补充说,在过去几年里,URL“https://cloud.r-project.org”一直是更可取的,因为它反映了a) https访问和b)“永远在你身边”的CDN。


我喜欢:

chooseCRANmirror()

它将在输出中打印镜像列表(不用担心弹出窗口,因为您是在终端上运行它),然后输入您想要的数字。


在您的系统(OS X)上无法显示存储库选择屏幕,因为OS X不再包括X11。R试图通过X11显示提示符。从http://xquartz.macosforge.org/landing/安装X11。然后执行install命令。将显示回购选择提示。


我使用

chooseCRANmirror(81)

它会提示您选择国家。 然后,您可以通过键入指定的国家镜像代码来进行选择。


我使用~/。Dirk建议的Rprofile解决方案,但我只是想指出

chooseCRANmirror(graphics=FALSE)

似乎是明智的选择,而不是

chooseCRANmirror(81)

,这可能有用,但这涉及到神奇的数字81(或者这可能是促进81 = UK(布里斯托尔)旅游的微妙方式:-))


如果你需要以非交互的方式设置镜像(例如在部署脚本中安装rbundler),你可以这样做:

首先手动运行:

chooseCRANmirror()

选择最适合你的镜子号码,并记住它。然后自动选择:

R -e 'chooseCRANmirror(graphics=FALSE, ind=87);library(rbundler);bundle()'

87是你要用的镜子的编号。这段代码还为您安装rbundle。如果你愿意,可以省略。


在macOS系统上,我遇到了和你们说的一样的东西:一个“请选择”提示符,然后就没有别的了。

在我打开(并更新;不知道这是否相关)X-Quartz,然后重新启动R并再次尝试,几秒钟后我得到了一个x窗口的镜像列表。第三次之后,速度更快了。


您还可以通过运行该命令或将其放在Rprofile中禁用所有图形菜单

options(menu.graphics = FALSE)

无论您是在终端中使用R还是在RStudio等IDE中使用,都应该弹出一个下拉菜单供您选择(或者您将得到一堆可供选择的数字)。Windows、Mac OS和大多数Linux系统都支持这一点。但是,它可能需要额外的配置或依赖项,如X-windows。

要在使用远程访问时启用X-windows,请使用以下-XY标志:

ssh -XY username@server.domain

通常有一个默认的回购,但如果你有任何问题,比如运行脚本或Rmarkdown/knitr,可以指定这个回购。每次安装时,您可以使用repo opset镜像或CRAN存储库:

install.packages("package", repo="<your.nearest.mirror>")

建议使用距离您的位置最近的镜像,以便更快地下载。例如:

install.packages("RMySQL", repos="https://cran.stat.auckland.ac.nz/")

您还可以在会话中设置repo选项,以便每个交互会话(或脚本)只需执行一次。您可以查看是否配置了repos:

options(repos)

如果你得到“错误在选项(回购):对象'回购'未找到”,那么你可以设置存储库选项。例如:

options(repos = "https://cran.stat.auckland.ac.nz/")

然后它应该像往常一样安装包。例如:

install.packages("RMySQL")

正如其他人所提到的,您可以在您的. rprofile文件中配置存储库,并在您的所有脚本中工作。这取决于您是在系统中选择这些“全局”选项,还是在会话或脚本中选择“本地”选项。这些“本地”选项需要花费更多的时间来使用每个会话,但其好处是,如果其他人没有您的. r配置文件,他们也可以使用您的脚本。


添加到~/。Rprofile

local({r <- getOption("repos")
    r["CRAN"] <- "mirror_site"  #for example, https://mirrors.ustc.edu.cn/CRAN/
    options(repos=r)
    options(BioC_mirror="bioc_mirror_site") #if using biocLite
})