Как загрузить пакеты в R автоматически?

Не могли бы вы предложить мне способ загрузки пакетов в R автоматически? Я хочу сказать, что я хочу начать сеанс в R без необходимости использовать library('package name') несколько раз. Предположим, что я загрузил все пакеты, которые я хочу использовать, когда я буду запускать R.

Поместите library(foo) в файл .Rprofile или установите R_DEFAULT_PACKAGES : см. ?Rprofile

В частности (потому что ?Rprofile длинный и потенциально запугивающий):

Если вы хотите использовать другой набор пакетов по умолчанию, когда вы начинаете, вставьте вызов «options» в файл «.Rprofile» или «Rprofile.site». Например, «options (defaultPackages = character ())» не добавит лишних пакетов при запуске (только «базовый» пакет) (или установите «R_DEFAULT_PACKAGES = NULL» в качестве переменной среды перед запуском R). Использование ‘options (defaultPackages = “”)’ или ‘R_DEFAULT_PACKAGES = “”‘ применяет систему R по умолчанию.

Поскольку вы, вероятно , хотите, чтобы все загруженные по умолчанию пакеты были загружены, а затем добавлены дополнительные (вместо того, чтобы, скажем, не загружать некоторые пакеты по умолчанию), вы можете

 library("mypackage1") library("mypackage2") [etc.] 

или с помощью options(defaultPackages=...) :

 options(defaultPackages=c(getOption("defaultPackages"), "mypackage1","mypackage2", ... [etc.])) 

в вашем .Rprofile чтобы добавить нужные пакеты к стандартным значениям по умолчанию.

(скопировано из комментария), чтобы получить это для работы в 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 или нет.

edit # 2 : в соответствии с приведенным ниже комментарием он работает с последней версией Rstudio.

Существует файл с именем .Rprofile, который является ничем иным, как скриптом, который запускается каждый раз, когда вы начинаете новый сеанс R.

Вам нужно добавить library(package) . Если вы используете Unix, это, вероятно, в вашей домашней папке в виде скрытого файла.

Страница Quick-R по настройке запуска R содержит в основном ту же информацию, что и ответы Бена и Жоао, но это, возможно, немного яснее. Создайте копию файла Rprofile.site с необходимыми изменениями в вашей домашней папке (Documents in Windows) и вызовите ее .Rprofile

EDIT: Я заметил, что R 3.0.0 больше не выглядит из папки «Документы», но использует домашний каталог пользователя (имя пользователя) под Windows 7. Возможно, это проблема установки (т. Е. Что я случайно установил R ») ранее). Тем не менее, страница Quick-R, связанная в этом ответе, говорит правильный способ сделать это. Если кто-то еще сталкивается с этой проблемой, решение заключается в копировании .Rprofile в домашний каталог пользователя.

Быстрый ответ заключается в том, что вы должны поместить свои R-пакеты в файл .Rprofile , как и все предлагали.

Обратите внимание, однако, что R будет читать этот файл, а затем загружать базовые пакеты R. См. « Начало работы» :

Обратите внимание, что когда файлы сайта и файла профиля загружаются, загружается только базовый пакет,

Это может вызвать проблемы, если пакет, который вы хотите загрузить, увеличивает / перезаписывает некоторые базовые функции R. См. Например, с tidyverse :: filter: https://github.com/tidyverse/dplyr/issues/1611

До сих пор я вижу два решения:

  1. Используйте .First.sys() в первой строке вашего файла .Rprofile : это команда, которая обычно запускается после чтения .Rprofile, который загружает пакеты в getOption("defaultPackages") .

  2. Обновите параметр defaultPackages : не используйте library() в вашем .Rprofile, но что-то вроде этого.

     old <- getOption("defaultPackages") options(defaultPackages = c(old, "tidyverse")) 
  • Как вы используете конструктор, отличный от стандартного для члена?
  • Каков пакет по умолчанию, в который помещаются мои classы, если я не укажу его?
  • Объявление примитивов / объектов, значения инициализации по умолчанию
  • Переадресация по умолчанию для Error 404
  • Конструкторы и наследование по умолчанию в Java
  • Что означает «default» после объявления функции classа?
  • Как изменить каталог данных MySQL?
  • Создание (и доступ) разреженной матрицы с записями NA по умолчанию
  • Программный эквивалент по умолчанию (Тип)
  • Изменить статус по умолчанию Magento для дублированных продуктов
  • Почему «final» не допускается в методах интерфейса Java 8?
  • Interesting Posts

    Как я могу инициализировать переменные-члены базового classа в конструкторе производного classа?

    Настройка ярлыков Mathematica

    Почему многонаследованные функции с таким же именем, но с разными сигнатурами не рассматриваются как перегруженные функции?

    Запуск `exec` с встроенным Bash

    Компьютер Windows 7 не может подключиться к Wi-Fi, используя любой адаптер

    Насколько серьезно длина кабеля влияет на скорость передачи данных USB 3.0?

    Как проверить, пересекает ли отрезок линии выровненную по оси прямоугольник в 2D?

    Почему такие вещи, как терминал Gnome, называются терминальными эмуляторами вместо «терминалов»?

    Метод exec () Runtime не перенаправляет вывод

    Материнская плата Gigabyte (890gpa-ud3h) не отключит питание USB

    Строки равных высот в макете сетки CSS

    Отключить «Ctrl» + масштабирование колесика мыши в Chrome?

    Возможно ли в принципе для Android-устройства взаимодействовать с iPhone через Bluetooth / GameKit?

    Как остановить Mail.app в Lion, создав папку архива для архивирования в Gmail?

    Буквенное письмо с данным файлом в пакете окон

    Давайте будем гением компьютера.