Как автоматически загружать пакеты в R?
Не могли бы вы предложить мне способ автоматической загрузки пакетов в R? Я имею в виду, я хочу начать сеанс в R без необходимости использовать library('package name')
несколько раз. Предположим, я загрузил все пакеты, которые я хочу использовать при следующем запуске R.
4 ответов
поставить library(foo)
в своем .Rprofile
file или set R_DEFAULT_PACKAGES
: см.?Rprofile
...
в частности (потому что ?Rprofile
длинный и потенциально пугающим):
если вы хотите другой набор пакетов по умолчанию, когда вы запустите, вставьте вызов "options " в".Rprofile успешно или ‘Rprofile успешно.файл сайта. Например, ' options (defaultPackages = символ ()’ ' не будет прикреплять никаких дополнительных пакетов при запуске (только "базовый" пакет) (или набор ’ R_DEFAULT_PACKAGES=NULL ' в качестве среды переменная перед запуском R). Использование ' options (defaultPackages= "") ' или ‘R_DEFAULT_PACKAGES=" " ’ применяет R система по умолчанию.
возможно do хотите, чтобы все пакеты по умолчанию загружались, а затем дополнительные В дополнение (вместо того, чтобы, скажем, не загружать некоторые пакеты по умолчанию), вы можете либо поставить
library("mypackage1")
library("mypackage2")
[etc.]
или через options(defaultPackages=...)
:
options(defaultPackages=c(getOption("defaultPackages"),
"mypackage1","mypackage2", ... [etc.]))
в вашей .Rprofile
to добавить ваши нужные пакеты по стандартным умолчанию.
редактировать (скопировано из комментария), чтобы это работало в в RStudio:
http://rstudio.org/docs/using/workspaces предполагает, что RStudio выполняет .Rprofile
а затем " выполняет другие действия, описанные в R Startup [ http://stat.ethz.ch/R-manual/R-patched/library/base/html/Startup.html ] "(что то же самое, что ?Rprofile
). Это неоднозначно ли это выглядит Rprofile.site
или нет.
правка #2: согласно комментарию ниже, он работает с последней версией Rstudio.
есть файл с именем.Rprofile это не что иное, как скрипт, который запускается каждый раз, когда вы начинаете новый сеанс R.
что вам нужно сделать, это добавить library(package)
к нему. Если вы используете Unix, он, вероятно, находится в вашей домашней папке как скрытый файл.
страница Quick-R при настройке запуска R содержит в основном ту же информацию, что и в ответах Бена и Хуана, но, возможно, немного яснее. Создайте копию Rprofile.site
файл с желаемыми изменениями в вашей домашней папке (Документы в Windows) и назовите его .Rprofile
EDIT: я заметил, что R 3.0.0 больше не смотрит из папки "документы", но использует домашний каталог пользователя (имя пользователя) под Windows 7. Это может быть проблема установки, хотя (т. е. что мне случилось установить R "неправильно" ранее). Однако страница Quick-R, связанная в этом ответе, указывает правильный способ сделать это. Если кто-то еще сталкивается с этой проблемой, решение состоит в том, чтобы скопировать .Rprofile
в домашний каталог пользователя.
быстрый ответ заключается в том, что вы должны поставить свои пакеты R в .Rprofile
файл, как все предлагали.
обратите внимание, однако, что R будет читать этот файл и затем загрузите базовые пакеты R. Смотрите из ?Startup:
обратите внимание, что когда файлы профиля сайта и пользователя получены только базовый пакет загружен,
это может вызвать проблемы, если пакет, который вы хотите загрузить, увеличивает / перезаписывает некоторую базу R функции. См., например, с tidyverse:: filter:https://github.com/tidyverse/dplyr/issues/1611
Я вижу два решения до сих пор:
использовать
.First.sys()
в первой строке.Rprofile
file: это команда, которая обычно запускается после чтения .Rprofile, который загружает пакеты вgetOption("defaultPackages")
.-
измените параметр defaultPackages: не используйте
library()
в вашей .Rprofile успешно, но что-то вроде.old <- getOption("defaultPackages") options(defaultPackages = c(old, "tidyverse"))