Próbuję zainstalować spakowane pakiety binarne R za pomocą wiersza poleceń na komputerze z systemem Windows 7 za pomocą

R CMD INSTALL packagename

Ale to nie działa. Czytałem, że CMD INSTALL nie może być używany do instalowania pakietów binarnych. Jak więc mogę zainstalować pakiety binarne za pomocą wiersza poleceń?

26
Kai 16 sierpień 2011, 12:49

3 odpowiedzi

Najlepsza odpowiedź

Możesz użyć interfejsu Rscript do uruchomienia kodu tak, jakby był w uruchomionej sesji języka R. Powiedzmy, że pakiet, który chcesz zainstalować, to foo.zip w bieżącym katalogu roboczym. Prawdopodobnie nadużywam Rscript tutaj, ale to działa dla mnie:

Rscript -e "install.packages('foo.zip', repos = NULL)"

Musisz podać ścieżkę do pakietu binarnego, jeśli nie ma go w katalogu, w którym działa skrypt. repos = NULL to sztuczka, dzięki której install.packages() działa z lokalnego pliku. Przeczytaj ?install.packages, aby uzyskać więcej informacji na temat innych argumentów, które możesz chcieć określić, zwłaszcza lib. Zauważ, że nie czerpiesz korzyści z automatycznego rozwiązywania zależności, kiedy to robisz - potrzebujesz do tego repo, a jeśli go podasz, R spróbuje pobrać pakiety.

Masz rację co do R CMD INSTALL; Podręcznik instalacji i administracji języka R zawiera w sekcji 6.3 następujące elementy:

Aby zainstalować pakiety ze źródeł w uniksowym użyciu

    R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
29
Gavin Simpson 16 sierpień 2011, 13:02

Bezproblemową alternatywą dla początkujących, takich jak ja, byłoby:

 install.packages(file.choose(), repos=NULL)

Polecenie file.choose() wyświetli okno pozwalające wybrać plik .zip lub plik tar.gz, z którego został pobrany. To polecenie jest bardzo przydatne, gdy nie masz wystarczających uprawnień na komputerze z systemem Windows i uruchamiasz R z dysku flash, takiego jak ja.

Jest to również przydatne przed uruchomieniem tego polecenia, aby ZMIANA NAZWY pliku zip, który zamierzasz zainstalować, na nazwę pakietu, którego zamierzasz użyć.

33
moldovean 17 luty 2012, 12:52
To jedyna rzecz, która zadziałała dla mnie z poziomu RStudio
 – 
jeramy townsley
23 marzec 2021, 01:06

Dodatek do odpowiedzi @moldovean: zwykłem zapisywać spakowany plik (skopiuj z temp do folderu pobierania R na przyszłość). Kiedy zaktualizowałem R z 2.15.1 do 3.0.1, uruchamiam te polecenia, aby ułatwić instalację:

setwd("C:/Downloads/R Packages");
packages<-dir();
install.packages(x, repos=NULL) #where x is the name of package

A R zainstalował wszystkie pakiety automatycznie ze spakowanych plików. Teraz mogę zaktualizować je wszystkie jednym poleceniem (google it)

5
Outlier 27 marzec 2014, 08:56
1
Myślę, że może to nie być całkowicie bezpieczne, ponieważ pakiety zostały zbudowane pod poprzednią wersją R...? (Mogę się mylić, mam nadzieję, że byłoby to wygodniejsze.) Po wykonaniu tej czynności prawdopodobnie powinieneś uruchomić update.packages(ask=FALSE,checkBuilt=TRUE), co może trochę potrwać, jeśli masz dużo pakietów ...
 – 
Ben Bolker
28 lipiec 2013, 01:39