2009-09-24 22 views
283

Znajomy wysłał mnie wzdłuż tego świetnego samouczka na webscraping NYtimes with R. Naprawdę chciałbym to wypróbować. Jednak pierwszym krokiem jest zainstalowanie pakietu o nazwie RJSONIO ze źródła.Jak zainstalować pakiet R ze źródła?

Znam R dość dobrze, ale nie mam pojęcia, jak zainstalować pakiet ze źródła.

Używam Mac OSX.

+0

To jest bardzo ściśle powiązane: http://stackoverflow.com/questions/11105131/can-install-r-forge-package-using-install-packages – GSee

Odpowiedz

337

Jeśli masz plik lokalnie, a następnie użyć install.packages() i ustawić repos=NULL:

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

Gdzie path_to_file stanowiłoby pełną ścieżkę i nazwę pliku:

  • W Windows będzie to wyglądać mniej więcej tak to: "C:\\RJSONIO_0.2-3.tar.gz".
  • W systemie UNIX będzie wyglądać następująco: "/home/blah/RJSONIO_0.2-3.tar.gz".
+0

Działa to również, jeśli 'nazwa_pliku_i_path' jest lokalnym repozytorium źródłowym pakietu R. –

+0

Uwaga: Opcja 'INSTALL_opts' może być użyta do przekazania opcji do' R CMD INSTALL'. Na przykład "--no-multiarch" –

+7

To chyba nie działa z archiwami zip. – Cerin

64

pobrać pakiet źródłowy, otwarty Terminal.app, przejdź do katalogu, w którym obecnie mają ten plik, a następnie wykonaj:

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

Należy pamiętać, że będzie to tylko się uda, gdy: a) pakiet nie potrzebuje kompilacji lub b) potrzebne są narzędzia systemowe do kompilacji. Zobacz: https://cran.r-project.org/bin/macosx/tools/

+2

Próbowałem tego i dostałem błąd: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD INSTALL RJSONIO_0.2-3.tar.gz Ostrzeżenie: nieprawidłowy pakiet "RJSONIO_0.2-3.tar.gz" Błąd: BŁĄD: nie podano pakietów –

+0

Musisz podać poprawną ścieżkę do pliku .ta Wymagany jest plik r.gz i narzędzia XCode (http://developer.apple.com/TOOLS/Xcode/). – rcs

+0

Czy istnieje sposób na skompilowanie binarnego .zip ze źródła? – haridsv

42

można zainstalować bezpośrednio z repozytorium (zwróć uwagę na type="source"):

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

Próbowałem tego i dostaje błąd: * * źródło * Instalacja pakietu 'RJSONIO' ... ** libs ** arch - i386 sh: make: command not found BŁĄD: nie udało kompilacja pakietu „RJSONIO ' RMate zatrzymał się na linii 3 * Usuwanie '/Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO' pobrane pakiety są w \t'/private/var/foldery/Ey/EyzhYjoKESmsmsZ6K87PeU + ++ TI/-Tmp-/Rtmpe3C96p/downloaded_packages ' Aktualizacja indeksu HTML pakietów w' .Library ' Komunikat ostrzegawczy: W install.packages ("RJSONIO", repos = "http : //www.omegahat.org/R ",: instalacja pakietu 'RJSONIO' miała niezerowy status wyjścia –

+5

Czy masz zainstalowane narzędzia programistyczne? Są dostarczane na dysku instalacyjnym Mac OS X. Ponieważ ten pakiet ma kod C, będziesz potrzebować kompilatora do zainstalowania go ze źródła. –

+0

Podejrzewam, że nie mam zainstalowanych narzędzi programistycznych. Co najmniej, nie pamiętam ich instalowania. Dzięki! –

6

Ponadto można zbudować pakiet binarny używając opcji --binary.

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

'R CMD build --binary' jest przestarzałe; użyj 'R CMD INSTALL --build' zamiast – f3lix

14

Dodatkowa poręczna (ale banalna) wskazówka do instalowania starszej wersji pakietów ze źródła.

Po pierwsze, jeśli wywołasz "install.packages", zawsze instaluje najnowszy pakiet z repo. Jeśli chcesz zainstalować starszą wersję pakietów, powiedz o kompatybilności, możesz wywołać install.packages ("url_to_source", repo = NULL, type = "source"). Na przykład:

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

bez ręcznego pobierania pakietów na dysku lokalnym i przejście do linii poleceń lub instalacji z dysku lokalnego, uważam, że to jest bardzo wygodne i uprościć połączenia (jeden krok).

Plus: można korzystać z tej sztuczki z dev_mode DevTools biblioteki, aby zarządzać różne wersje pakietów:

referencyjny: doc devtools

3

From cran można zainstalować bezpośrednio z adresu repozytorium GitHub. Więc jeśli chcesz pakiet na https://github.com/twitter/AnomalyDetection:

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

załatwia sprawę.

-3

Wolę instalować pakiet od R cran project.Będę szukał nazwy pakietu i jeśli będzie dostępny, wykonam polecenie z mojej powłoki R, aby zainstalować ją bezpośrednio z projektu R cran. Twój pakiet jest dostępny w katalogu R. Więc to, co zrobię

install.packages("RJSONIO") 

Bonus - Ładowanie pakietu w bieżącej sesji R

library(RJSONIO) 
+2

Nie odpowiada to na pytanie, nie chodzi o twoje preferencje, ale o instalację ze źródła. – GolDDranks

Powiązane problemy