Jak zmienić domyślną ścieżkę bibliotek dla pakietów R
Próbowałem zainstalować R and R studio na dysku lokalnym na moim komputerze roboczym, w przeciwieństwie do folderu sieciowego organizacji, ponieważ wszystko, co działa przez sieć, jest naprawdę wolne. Podczas instalacji ścieżka docelowa pokazuje, że jest to mój lokalny dysk C:. Jednak gdy instaluję nowy pakiet, domyślną ścieżką jest mój dysk sieciowy i nie ma opcji zmiany:
.libPaths()
[1] "\\\\The library/path/I/don't/want"
[2] "C:/Program Files/R/R-3.2.1/library"
Używam windows 7 professional. Jak mogę usunąć ścieżkę biblioteki [1] i uczynić ścieżkę [2] moją podstawowy dla wszystkich pakietów podstawowych i wszystkich nowych pakietów, które instaluję?
3 answers
Zobacz help(Startup)
i help(.libPaths)
, ponieważ masz kilka możliwości, w których może to być ustawione. Wśród nich są
- ustawienie
R_LIBS_USER
- przypisanie
.libPaths()
w.Rprofile
lubRprofile.site
I więcej.
W tym konkretnym przypadku musisz cofnąć się i odłączyć tam, gdzie jest ustawiony \\\\The library/path/I/don't/want
.
Aby go zignorować, musisz nadpisać go jawnie, tzn. poprzez
library("somePackage", lib.loc=.libPaths()[-1])
Podczas ładowania paczki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-29 18:13:29
Windows 7: Jeśli twój C:\Program Files
(lub gdziekolwiek jest zainstalowany R) jest zablokowany do pisania, tak jak mój jest, wtedy będziesz sfrustrowany edycją RProfile.site
(tak jak ja). Jak wspomniano powyżej, zaktualizowałem R_LIBS_USER
i zadziałało. Jednak nawet po kilkukrotnym przeczytaniu znakomitej instrukcji i rozległych poszukiwaniach Zajęło mi to kilka godzin. W duchu Oszczędzania cudzego czasu...
Załóżmy, że chcesz, aby twoje pakiety znajdowały się w C:\R\Library
:
- Utwórz folder
C:\R\Library
- Kliknij
Start
-->Control Panel
-->User Accounts
-->Change my environmental variables
- wyskakuje okno
Environmental Variables
. Jeśli widziszR_LIBS_USER
, zaznacz ją i kliknijEdit
. W przeciwnym razie kliknijNew
. Obie akcje otwierają okno z polami dlaVariable
iValue
. - w moim przypadku,
R_LIBS_USER
już tam był, a wartość była ścieżką do mojego pulpitu. Dodałem do ścieżki folder, który utworzyłem, oddzielony średnikiem, jak wspomniano powyżej.C:\R\Library;C:\Users\Eric.Krantz\Desktop\R stuff\Packages
. Uwaga: mogłem usunąć ścieżkę do lokalizacji pulpitu i po prostu lewaC:\R\Library
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-20 16:34:49
W obliczu tego samego problemu (unikanie domyślnej ścieżki w sieci) doszedłem do tego rozwiązania z podpowiedziami podanymi w innych odpowiedziach.
Rozwiązaniem jest edycja pliku Rprofile
w celu nadpisania zmiennej R_LIBS_USER
, która domyślnie wskazuje na katalog domowy.
Oto kroki:
- Utwórz docelowy folder docelowy dla bibliotek, np.,
~\target
. - Znajdź plik
Rprofile
. W moim przypadku było to wC:\Program Files\R\R-3.3.3\library\base\R\Rprofile
. - Edytuj plik i zmień definicja zmiennej
R_LIBS_USER
. W moim przypadku zamieniłem tę linięfile.path(Sys.getenv("R_USER"), "R",
nafile.path("~\target", "R",
.
Dokumentacja wspierająca To rozwiązanie jest tutaj
Oryginalny plik z:
if(!nzchar(Sys.getenv("R_LIBS_USER")))
Sys.setenv(R_LIBS_USER=
file.path(Sys.getenv("R_USER"), "R",
"win-library",
paste(R.version$major,
sub("\\..*$", "", R.version$minor),
sep=".")
))
Zmodyfikowany plik:
if(!nzchar(Sys.getenv("R_LIBS_USER")))
Sys.setenv(R_LIBS_USER=
file.path("~\target", "R",
"win-library",
paste(R.version$major,
sub("\\..*$", "", R.version$minor),
sep=".")
))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-07 09:04:19