Zmień domyślną ścieżkę biblioteki r używając.libPaths w Rprofile.strona nie działa
Używam R w systemie Windows, nie jako administrator. Gdy instaluję pakiet, następujące polecenie nie działa:
> install.packages("zoo")
Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
'lib = "C:/Program Files/R/R-2.15.2/library"' is not writable
Aby zainstalować pakiet, muszę podać lokalizację biblioteki:
install.packages("zoo", lib="C:/software/Rpackages")
Aby załadować pakiet, muszę również określić lokalizację biblioteki:
library("zoo", lib.loc="C:/software/Rpackages")
Wszystko jest OK, ale chciałem zobaczyć, czy mogę jakoś dodać C:/software/Rpackages
do ścieżki biblioteki i tym samym nie muszę jej wpisywać za każdym razem.
Gdy szukałem w Internecie, znalazłem jednym ze sposobów na to jest edycja pliku Rprofile.site
i dodanie linii
.libPaths("C:/software/Rpackages")
Jednak po zrobieniu tego i uruchomieniu RStudio, jest to wyjście, które otrzymuję
> .libPaths()
[1] "C:/Program Files/R/R-2.15.2/library" "C:/Program Files/RStudio/R/library"
.libPaths
polecenie, które dodałem do Rprofile.site
nie wydaje się mieć żadnego efektu! Dlaczego tak jest? A co ważniejsze, jak mogę rozwiązać problem, aby móc instalować i ładować pakiety bez wpisywania w lokalizacji biblioteki?
Uwaga: Jeśli uruchamiam RStudio, komenda .libPaths()
wydaje się działać tak, jak jest przypuszczalnie
.libPaths("C:/software/Rpackages")
> .libPaths()
[1] "C:/software/Rpackages" "C:/Program Files/R/R-2.15.2/library"
Czy to nie dziwne? 15 answers
Generalnie staram się trzymać wszystkie moje pakiety w jednej bibliotece, ale jeśli chcesz dodać bibliotekę, dlaczego nie dodać nowej biblioteki (która musi już istnieć w Twoim systemie plików) do istniejącej ścieżki?
.libPaths( c( .libPaths(), "~/userLibrary") )
Lub (a to uczyni userLibrary pierwszym miejscem do umieszczania nowych pakietów):
.libPaths( c( "~/userLibrary" , .libPaths() ) )
Potem dostaję (przynajmniej kiedy pisałem to oryginalnie):
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/2.15/Resources/library"
[2] "/Users/user_name/userLibrary"
Funkcja .libPaths
jest nieco inna niż większość innych funkcji niegraficznych. Działa poprzez efekt uboczny. Funkcje Sys.getenv
i Sys.setenv
, które raportują i zmieniają zmienne środowiskowe R zostały rozdzielone, ale .libPaths
mogą raportować lub zmieniać swój cel.
Informacje o uruchomieniu R można przeczytać na stronie pomocy ?Startup
, a materiał RStudio znajduje się na stronie: https://support.rstudio.com/hc/en-us/articles/200549016-Customizing-RStudio
W Twoim przypadku wygląda na to, że RStudio nie respektuje RPROFILE.ustawienia strony lub być może jest nadrzędne je czytając an .Ustawienie Rprofile z jednej z domyślnych wartości RStudio. Należy również wspomnieć, że wynik tej operacji dodaje również zawartość wywołań do .Library
i .Library.site
, co jest kolejnym powodem, dla którego RStudio- (lub inne IDE lub sieć zainstalowana-) hostowane R może wykazywać inne zachowanie.
Ponieważ Sys.getenv()
zwraca bieżące środowisko systemowe dla procesu R, możesz zobaczyć bibliotekę i inne ścieżki z:
Sys.getenv()[ grep("LIB|PATH", names(Sys.getenv())) ]
Dwa, które mają znaczenie dla przechowywania i dostęp do pakietów są (teraz inne na Linuksie):
R_LIBS_SITE /usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library
R_LIBS_USER /home/david/R/x86_64-pc-linux-gnu-library/3.5.1/
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
2019-05-21 18:47:46
Właściwym rozwiązaniem jest ustawienie zmiennej środowiskowej R_LIBS_USER
na wartość ścieżki pliku do pożądanego folderu biblioteki, zamiast uzyskiwania RStudio do rozpoznawania pliku RPROFILE.plik strony.
Aby ustawić zmienną środowiskową R_LIBS_USER
w systemie Windows, przejdź do Panelu sterowania (Właściwości systemu - > zaawansowane właściwości systemu - > zmienne środowiskowe - > zmienne użytkownika) na żądaną wartość (ścieżkę do folderu biblioteki), np.
Variable name: R_LIBS_USER
Variable value: C:/software/Rpackages
Jeśli z jakiegoś powodu nie masz dostępu do kontroli panel, możesz spróbować uruchomić rundll32 sysdm.cpl,EditEnvironmentVariables
z linii poleceń w systemie Windows i dodać stamtąd zmienną środowiskową.
Ustawienie R_LIBS_USER zapewni, że biblioteka pojawi się jako pierwsza .libPaths() niezależnie od uruchomienia RStudio bezpośrednio lub klikając prawym przyciskiem myszy plik i "Otwórz", aby uruchomić RStudio.
Rozwiązanie Rprofile może działać, jeśli RStudio jest zawsze uruchamiane przez kliknięcie skrótu RStudio. W tym przypadku ustawienie domyślnego katalogu roboczego na katalog, w którym znajduje się Twój Rprofile będzie wystarczający. Rozwiązanie Rprofile nie działa podczas klikania pliku, aby uruchomić RStudio, ponieważ zmienia to katalog roboczy z dala od domyślnego katalogu roboczego.
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
2020-07-08 03:26:11
Udało mi się rozwiązać problem umieszczając kod w pliku .Rprofile
w domyślnym katalogu roboczym.
Najpierw znalazłem lokalizację domyślnego katalogu roboczego
> getwd()
[1] "C:/Users/me/Documents"
Potem użyłem edytora tekstu do napisania prostego pliku .Rprofile
z następującą linijką
.libPaths("C:/software/Rpackages")
Wreszcie, kiedy uruchamiam R
i uruchamiam .libPaths()
otrzymuję pożądane wyjście:
> .libPaths()
[1] "C:/software/Rpackages" "C:/Program Files/R/R-2.15.2/library"
[3] "C:/Program Files/RStudio/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
2013-03-04 06:33:38
Https://superuser.com/questions/749283/change-rstudio-library-path-at-home-directory
Edit ~/.Renviron
R_LIBS_USER=/some/path
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-12-14 05:45:00
Znalazłem to, co myślę jest rozwiązaniem tutaj (dziękuję Carl Schwarz na SFU) za dodanie osobistej biblioteki, która jest na stałe (nie musisz definiować jej każdej sesji) rozpoznawane czy za pomocą R lub Rstudio, i RStudio traktuje to jako domyślne na moim komputerze Mac. Nie widziałem tego wyraźnie NA SO, więc podsumowałem kroki, które podali, Dla Windows, a następnie Dla Mac.
Dla systemu operacyjnego Windows 7:
-
Utwórz katalog na dysku, w którym chcesz mieć własną bibliotekę, np. C:\User\Rlibs (lub inny, do którego masz uprawnienia)
-
Wyszukaj/przejdź do "edytuj zmienną środowiskową dla swojego konta" w pasku wyszukiwania Windows, aby edytować ustawienia panelu sterowania
-
Kliknij " Nowy..."w środku okna" zmienne środowiskowe "
W oknie" Nowa zmienna użytkownika " wpisz R_LIBS dla "Nazwa zmiennej" i ścieżkę do utworzonego osobistego katalogu biblioteki, np. C:\User\Rlibs
-
Kliknij OK i zobaczysz parę zmienna / wartość w oknie zmienne użytkownika
-
Kliknij ponownie OK
Teraz po uruchomieniu R (lub Rstudio) i wpisaniu polecenia .libPaths()
powinieneś zobaczyć bibliotekę osobistą, którą utworzyłeś, jak również bibliotekę systemową R.
Dla Mac:
W katalogu" Home "lub" username " utwórz folder o nazwie Rlibs
-
Uruchom Aplikacja terminala
Type:
echo "R_LIBS=~/Rlibs"> .Renvrion
Upewnij się, że wielkość liter pasuje.Wpisz
ls -a
, aby zobaczyć pełną listę plików w katalogu, która powinna teraz zawierać .RenvrionSprawdź, czy .Plik Renviron {[27] } został poprawnie ustawiony:
more .Renviron
Uruchom R / Rstudio i wpisz {[0] } i powinieneś zobaczyć nową ścieżkę do swojej osobistej biblioteki.
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
2018-12-12 15:00:45
Jeśli nie masz uprawnień administratora, pomocne może być również otwarcie Rprofile.site
- pliku znajdującego się w \r-3.1.0 \ etc i dodanie:
.First <- function(){
.libPaths("your path here")
}
To ewaluuje polecenie .libPath()
bezpośrednio przy starcie
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
2014-04-14 13:46:01
Miałem problemy ze zrozumieniem tego. gorkypl podał poprawne rozwiązanie powyżej, gdy ostatnio ponownie zainstalowałem mój OS & Rstudio, ale tym razem ustawienie mojej zmiennej środowiskowej nie rozwiązało.
Odinstalowałem zarówno R jak i Rstudio, tworząc katalogi C:\R i C:\Rstudio następnie ponownie zainstalowane oba.
Zdefiniuj zmienną użytkownika R_LIBS_USER do preferowanego katalogu (zgodnie z odpowiedzią gorkypla) i uruchom ponownie komputer, aby załadować zmienną użytkownika. Otwórz Rstudio, błędy powinny być zniknął.
Możesz również użyć Sys.setenv()
, aby zmodyfikować r_libs_user do Ścieżki alternatywnej biblioteki, co jest łatwiejsze i nie wymaga ponownego uruchamiania komputera.
Aby zobaczyć, na co jest ustawione R_LIBS_USER:
?Sys.getenv()
Czytanie help(Startup)
jest przydatne.
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-03-10 21:24:57
Po prostu zmień domyślny folder dla swoich bibliotek R w katalogu bez uprawnień administratora, np.
.libPaths("C:/R/libs")
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
2018-11-14 11:12:11
Jeśli domyślna biblioteka pakietów została zmieniona po zainstalowaniu nowej wersji R lub w jakikolwiek inny sposób, możesz dołączyć obie biblioteki do użycia wszystkich pakietów za pomocą poniższych poleceń. Pobranie istniejącej ścieżki biblioteki:
.libPaths()
Teraz ustaw istniejącą i starą ścieżkę:
.libPaths(c(.libPaths(), "~/yourOldPath"))
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-03-14 07:07:37
Czytam readme. W tym wspomnieli o użyciu .libPaths () w wierszu poleceń, aby sprawdzić, które ścieżki tam są. Miałem wcześniej 2 ścieżki biblioteczne. Kiedy użyłem polecenia .libpath ("C:/Program Files / R / R-3.2.4 revised / library") tam, gdzie chciałem, zmienił ścieżkę do biblioteki. Kiedy pisałem .libPaths () w wierszu poleceń ponownie pokazała mi poprawną ścieżkę. Mam nadzieję, że to pomoże
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-07-08 04:11:22
W Ubuntu, zalecanym sposobem zmiany domyślnej ścieżki biblioteki dla użytkownika jest ustawienie zmiennej R_LIBS_USER
w pliku ~/.Renviron
.
touch ~/.Renviron
echo "R_LIBS_USER=/custom/path/in/absolute/form" >> ~/.Renviron
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
2019-11-30 08:15:01
getwd()
# [1] "C:/Users/..../software/My R studio"
Skopiuj powyższy link z podwójnym odwróconym przecinkiem
.libPaths(new="C:/Users/..../software/My R studio")
Domyślna ścieżka zostanie zmieniona podczas instalowania pakietów
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
2018-11-05 09:50:24
Jeśli chcesz zmienić ścieżkę biblioteki na stałe (bez wywołania .libPath() za każdym razem, gdy wchodzi w r, działa to dla mnie:
-
Twórz .Rprofile w katalogu domowym. (~/.Rprofile)
Typ
.libPaths(c( .libPaths(), "your new path" ))
do środka .Plik Rprofile, Zapisz.Otwórz R (dowolny katalog) i sprawdź, po prostu wpisz
.libPaths()
, Możesz znaleźć ścieżkę libaray jest zaktualizowany!
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
2019-07-03 19:12:29
Ponieważ większość odpowiedzi tutaj są związane z Windows i Mac OS, (i biorąc pod uwagę, że ja również borykał się z tym) postanowiłem opublikować proces, który pomógł mi rozwiązać ten problem w mojej konfiguracji Arch Linux .
Krok 1:
- wykonaj globalne przeszukiwanie systemu (np. ANGRYSearch ) pod kątem terminu
Renviron
(który jest plikiem konfiguracyjnym, w którym ustawione są ustawienia bibliotek użytkownika). - powinien zwrócić tylko dwa wyniki w following directory paths:
-
/etc/R/
-
/usr/lib/R/etc/
Uwaga: pliki konfiguracyjneRenviron
przechowywane na 1 i 2 (powyżej) są ze sobą połączone na gorąco (co oznacza, że zmiany wprowadzone w jednym pliku zostaną automatycznie zastosowane [ w tej samej formie / strukturze ] do drugiego pliku, gdy edytowany plik zostanie zapisany - [ potrzebne są również prawasudo
do zapisania pliku po edycji]) .
-
Krok 2:
- przejdź do pierwszą ścieżkę katalogu (
/etc/R/
) i otworzyć plikRenviron
w ulubionym edytorze tekstu. - po wejściu do pliku
Renviron
wyszukaj znacznikR_LIBS_USER
i zaktualizuj tekst w sekcji nawiasy klamrowe do wybranej ścieżki katalogu.
przykład:
... zmiana z ( oryginalny wpis ):R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/4.0'}
... Zmień na ( Twój pożądany wpis ):R_LIBS_USER=${R_LIBS_USER-'~/Apps/R/rUserLibs'}
Krok 3:
- Zapisz plik
Renviron
, który właśnie edytowałeś ... zrobione !!
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
2020-09-25 11:15:51
Przyglądałem się temu, ponieważ R miał problemy z instalacją w domyślnej lokalizacji i zamiast tego umieszczał pakiety w folderze tymczasowym. Okazało się, że jest to najnowsza aktualizacja Mcaffee Endpoint Security, która najwyraźniej ma problemy z R. możesz wyłączyć ochronę przed zagrożeniami podczas instalacji pakietów i będzie działać poprawnie.
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-09-18 23:15:47