Установить постоянное зеркало CRAN в R

102

Как я могу установить определенное зеркало CRAN на постоянной основе в R?

Я хочу установить его на своем ноутбуке постоянно, чтобы install.packages()он больше не спрашивал меня, какое зеркало выбрать.

719016
источник
1
См stackoverflow.com/questions/1189759/... примеры .Rprofile.
jthetzel
4
вы можете захотеть отредактировать глобальный Rprofileфайл. На платформах * NIX он находится в /usr/lib/R/library/base/R/Rprofile. Просто будьте осторожны ... и обратите внимание, что локальные .Rprofileнастройки имеют приоритет.
aL3xa
1
Следуя комментарию @ aL3xa, посмотрите ?Startupдействительно кровавые подробности о том, где могут быть расположены файлы `.Rprofile и которые имеют приоритет.
Джош О'Брайен,
И , пожалуйста , обратите внимание на .Firstи .Lastобъекты.
aL3xa

Ответы:

119

Вы можете установить репозитории в вашем .Rprofile, чтобы восстанавливать ваш выбор каждый раз, когда вы запускаете R

Изменить: чтобы быть более точным:

Добавить

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

в ваш .R профиль


Кроме того, вы можете настроить зеркало для всего сайта в своем Rprofile.site. Расположение файла определяется ?Startup:

Путь к этому файлу берется из значения R_PROFILE переменной окружения (после раскрытия тильды). Если эта переменная не задана, используется значение по умолчанию R_HOME/etc/Rprofile.site, которое используется, если оно существует (чего не происходит при установке «с завода»).

Так что 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
Я добавил дополнительную информацию, так как это не стоило лишнего ответа и многовато для комментария.
Джорис Мейс
2
Я не думаю, что этот звонок structureчто-то делает. Обычно это просто удобный способ добавления атрибутов к объекту.
Ричи Коттон,
@rinni: спасибо, я погуглил список URL-адресов, нашел тот, к которому я ближе всего, как вы описали в .Rprofileфайле.
3
Кажется, что RProfile.siteв моем R 3.3.1 на Arch Linux x86_64 нет файла. Существует файл с именем RProfile, который не содержит закомментированных строк, упомянутых в ответе.
SACHIN GARG
5
где "ВАШЕ ЛЮБИМОЕ ЗЕРКАЛО" - это URL-адрес, а не имя.
pdb