Как установить ggplot2 для R в пользовательский каталог lib - PullRequest
0 голосов
/ 24 октября 2018

Я хочу использовать библиотеку ggplot2 для R, установленную в пользовательской папке lib, а именно ~/.r.После установки библиотеки в мой домашний каталог с помощью команды

> install.packages("ggplot2", lib="~/.r")

Вывод указывает, что установка прошла успешно.Однако загрузка библиотеки, похоже, не работает должным образом:

> library(ggplot2, lib="~/.r")
Error: package or namespace load failed for ‘ggplot2’:
 .onLoad failed in loadNamespace() for 'pillar', details:
  call: loadNamespace(name)
  error: there is no package called ‘crayon’

Библиотека crayon, похоже, установлена, поскольку в каталоге ~/.r/crayon есть файлы.Даже попытка переустановить библиотеку с помощью следующей команды не помогает

> remove.packages("crayon", lib="~/.r")
> install.packages("crayon", lib="~/.r")

Вместо этого я могу использовать личную библиотеку при установке без параметра lib, но при этом устанавливается ~/R, который яне хочу.

> install.packages("ggplot2")
...
> library(ggplot2)

Почему команды install.package и library с lib="~/.r" не работают должным образом?Как я могу использовать пользовательский путь lib для библиотек R в целом и ggplot2 более конкретно?

1 Ответ

0 голосов
/ 24 октября 2018

Адаптировано из статьи , связанной с duckmayr , у меня сработало следующее решение:

> dir.create("~/.r/library", recursive = TRUE)
> cat("R_LIBS=~/.r/library", file = "~/.Renviron", append = TRUE)

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

> .libPaths()
> [1] "/home/user/.r/library" "/usr/lib/R/library"  

Таким образом, следующие команды теперь делают постоянную установку ggplot2 в скрытой папке ~/.r и успешно загружают библиотеку:

> install.packages("ggplot2")
...
> library(ggplot2)
...