在R中设置默认的CRAN镜像永久


102

如何在R中永久设置特定的CRAN镜像?

我想将其永久设置在笔记本电脑中,这样当我这样做时install.packages(),它不会再询问我要选择哪个镜子。


1
有关.Rprofile的示例,请参见stackoverflow.com/questions/1189759/…
jthetzel 2011年

4
您可能要编辑全局Rprofile文件。在* NIX平台上,它位于中/usr/lib/R/library/base/R/Rprofile。请小心...并注意本地.Rprofile设置优先。
aL3xa 2011年

1
跟随@ aL3xa的评论,查看?Startup有关.Rprofile文件位于何处以及优先级的真正细节。
乔什·奥布莱恩

并且请注意.First.Last对象。
aL3xa 2011年

Answers:


117

您可以在.Rprofile中设置存储,以在每次启动R时恢复选择

编辑:更准确地说:

options(repos=structure(c(CRAN="YOUR FAVORITE MIRROR")))

到您的.Rprofile


或者,您可以在中在整个站点范围内设置镜像Rprofile.site。文件的位置由给出?Startup

该文件的路径来自R_PROFILE 环境变量的值(在波浪号扩展之后)。如果未设置此变量,则默认值为R_HOME/etc/Rprofile.site,如果存在则使用该变量(在“ factory-fresh”安装中不存在)。

所以,做Sys.getenv("R_PROFILE")了第一个选项,或者Sys.getenv("R_HOME")或者R.home()对于第二个选项。在macOS上,第二个的位置是/Library/Frameworks/R.framework/Resources/etc/

该文件可能不存在,或者您可能会看到以下注释行:

# set a CRAN mirror
# local({r <- getOption("repos")
#       r["CRAN"] <- "http://my.local.cran"
#       options(repos=r)})

因此,删除注释标记并将“ http://my.local.cran ”更改为正确的网站,例如:

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

1
我添加了额外的信息,因为它不值得一个额外的答案,而且对于评论来说也太多了。
Joris Meys 2011年

2
我认为对的呼吁structure没有任何作用。通常,这只是将属性添加到对象的便捷方法。
Richie Cotton

@rinni:谢谢,我用google搜索了找到的URL列表,正如您在.Rprofile文件中所描述的那样。

3
RProfile.site在Arch Linux x86_64上,我的R 3.3.1中似乎没有文件。有一个名为的文件RProfile,其中不包含答案中提到的注释行。
SACHIN GARG '16

5
其中“您最喜欢的镜像”是URL,而不是名称。
pdb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.