Как установить пакет R из исходного кода?

Друг послал меня по этому замечательному учебнику по webcraping NYtimes с R. Мне бы очень хотелось попробовать это. Однако первым шагом является установка пакета из RJSONIO из источника.

Я знаю R достаточно хорошо, но я понятия не имею, как установить пакет из исходного кода.

Я запускаю Mac OSX.

Ответ 1

Если у вас есть файл локально, используйте install.packages() и установите repos=NULL:

install.packages(path_to_file, repos = NULL, type="source")

Где path_to_file будет представлять полный путь и имя файла:

  • В Windows это будет выглядеть примерно так: "C:\\RJSONIO_0.2-3.tar.gz".
  • В UNIX он будет выглядеть следующим образом: "/home/blah/RJSONIO_0.2-3.tar.gz".

Ответ 2

Загрузите исходный пакет, откройте Terminal.app, перейдите в каталог, в котором у вас есть файл, а затем выполните:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

Обратите внимание, что это будет выполнено только тогда, когда: a) пакет не нуждается в компиляции или b) присутствуют необходимые системные инструменты для компиляции. См.: https://cran.r-project.org/bin/macosx/tools/

Ответ 3

Вы можете установить непосредственно из репозитория (обратите внимание на type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

Ответ 4

Дополнительный (но тривиальный) совет для установки более старой версии пакетов из исходного кода.

Во-первых, если вы вызываете "install.packages", он всегда устанавливает последний пакет из репо. Если вы хотите установить более старую версию пакетов, скажем, для совместимости, вы можете вызвать install.packages( "url_to_source", repo = NULL, type = "source" ). Например:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

Без ручной загрузки пакетов на локальный диск и перехода в командную строку или установки с локального диска я нашел, что это очень удобно и упрощает вызов (один шаг).

Плюс: вы можете использовать этот трюк с библиотекой devtools dev_mode, чтобы управлять различными версиями пакетов:

Ссылка: doc devtools

Ответ 5

Кроме того, вы можете создать двоичный пакет с помощью опции -binary.

R CMD build --binary RJSONIO_0.2-3.tar.gz

Ответ 6

Из cran вы можете установить непосредственно из адреса репозитория github. Поэтому, если вы хотите пакет в https://github.com/twitter/AnomalyDetection:

library(devtools)
install_github("twitter/AnomalyDetection")

делает трюк.

Ответ 7

Я предпочитаю устанавливать пакет из R cran project. Я буду искать имя пакета, и если он будет доступен, я буду выполнять команду из моей оболочки R, чтобы установить ее непосредственно из проекта R-крана. Ваш пакет доступен в каталоге R. Так вот что я буду делать

install.packages("RJSONIO")

Бонус - Загрузка пакета в текущую сессию R

library(RJSONIO)