Bagaimana cara saya menginstal paket R dari sumber?

392

Seorang teman mengirimi saya bersama tutorial ini besar di webscraping NYTimes dengan R . Saya sangat ingin mencobanya. Namun, langkah pertama adalah menginstal paket yang disebut RJSONIO dari sumber.

Saya tahu R cukup baik, tetapi saya tidak tahu cara menginstal paket dari sumber.

Saya menjalankan Mac OSX.

Thomas
sumber
1
Ini sangat terkait: stackoverflow.com/questions/11105131/…
GSee

Jawaban:

487

Jika Anda memiliki file secara lokal, gunakan install.packages()dan atur repos=NULL:

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

Di mana path_to_fileakan mewakili path lengkap dan nama file:

  • Pada Windows akan terlihat seperti ini: "C:\\RJSONIO_0.2-3.tar.gz".
  • Pada UNIX itu akan terlihat seperti ini: "/home/blah/RJSONIO_0.2-3.tar.gz".
Shane
sumber
2
Ini juga berfungsi jika file_name_and_pathrepositori sumber lokal dari paket R.
Faheem Mitha
1
Perhatikan bahwa INSTALL_optsopsi ini dapat digunakan untuk meneruskan opsi R CMD INSTALL. Misalnya, "--no-multiarch"
Andy Barbour
2
install.packages ("/ tmp / shiny_0.13.1.tar.gz", repos = NULL, ketik = "sumber") saya mendapatkan kesalahan ini: -ksh: kesalahan sintaks: `('tak terduga
iaav
3
Seperti yang ditunjukkan @Cerin, Anda harus menjaga ekstensi. Saya mengalami kesalahan "(karena 'lib' tidak ditentukan)" "dari R dengan arsip .zip. Semuanya berfungsi dengan baik setelah mengubah ekstensi ke .tar.
Mohamed Hasan
2
Perlu dicatat bahwa karena repos = NULLpendekatan ini tidak akan menginstal dependensi misalnya dari CRAN. jawaban ini menunjukkan devtools::install_local(path_to_file)yang mana bagi saya lebih sederhana (lebih sedikit argumen untuk disuplai) dan lebih baik (menginstal dependensi juga).
mac
97

Unduh paket sumber, buka Terminal.app, navigasikan ke direktori tempat Anda memiliki file tersebut, dan kemudian jalankan:

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

Perhatikan bahwa ini hanya akan berhasil ketika: a) paket tidak memerlukan kompilasi atau b) alat sistem yang diperlukan untuk kompilasi hadir. Lihat: https://cran.r-project.org/bin/macosx/tools/

rcs
sumber
3
Saya mencoba ini dan mendapat kesalahan: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD INSTALL RJSONIO_0.2-3.tar.gz Peringatan: paket tidak valid 'RJSONIO_0.2-3.tar.gz' Kesalahan: ERROR: tidak ada paket ditentukan
1
Anda harus menentukan jalur yang benar ke file .tar.gz dan alat XCode ( developer.apple.com/TOOLS/Xcode ) diperlukan.
rcs
1
Apakah ada cara untuk membangun .zip biner dari sumbernya?
haridsv
5
Menemukan solusinya, Anda perlu menggunakan opsi --binary.
haridsv
Berapa kali Anda datang ke sini karena Anda mengetik instal alih-alih MENGINSTAL?
Brandon Bertelsen
50

Anda dapat menginstal langsung dari repositori (perhatikan type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")
Eduardo Leoni
sumber
3
Saya mencoba ini dan mendapat kesalahan: * Instalasi paket sumber 'RJSONIO' ... ** libs ** arch - i386 sh: make: command not found ERROR: kompilasi gagal untuk paket 'RJSONIO' RMate berhenti di baris 3 * Menghapus ' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'Paket-paket yang diunduh ada di' / private / var / folder / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -mp- / Rtmpe3C96p / didownload_packages 'Memperbarui HTML indeks paket di '.Library' Pesan peringatan: Dalam install.packages ("RJSONIO", repos = " omegahat.org/R " ,: instalasi paket 'RJSONIO' memiliki status keluar tidak nol
6
Apakah Anda memiliki alat pengembang yang diinstal? Mereka datang di dvd instalasi Mac OS X. Karena paket ini memiliki kode C, Anda memerlukan kompiler untuk menginstalnya dari sumber.
Eduardo Leoni
1
Saya kira saya tidak menginstal alat pengembang. Atleast, saya tidak ingat menginstalnya. Terima kasih!
4
Jika Anda melakukan ini di windows, Anda bisa mendapatkan alat pengembang dari murdoch-sutherland.com/Rtools ... pastikan ketika menginstal Anda mencentang kotak yang mengatakan untuk memperbarui jalur Anda (mungkin agak sulit dibaca ... hanya memeriksa kotak yang tidak dicentang yang muncul)
Dan Goldstein
27

Kiat tambahan yang berguna (tetapi sepele) untuk menginstal versi paket yang lebih lama dari sumber.

Pertama, jika Anda memanggil "install.packages", ia selalu menginstal paket terbaru dari repo. Jika Anda ingin menginstal versi paket yang lebih lama, katakan untuk kompatibilitas, Anda dapat memanggil install.packages ("url_to_source", repo = NULL, ketik = "sumber"). Sebagai contoh:

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

Tanpa secara manual mengunduh paket ke disk lokal dan beralih ke baris perintah atau menginstal dari disk lokal, saya merasa sangat nyaman dan menyederhanakan panggilan (satu langkah).

Plus: Anda dapat menggunakan trik ini dengan dev_mode perpustakaan devtools, untuk mengelola berbagai versi paket:

Referensi: doc devtools

ReneWang
sumber
9

Dari cran , Anda dapat menginstal langsung dari alamat repositori github. Jadi jika Anda ingin paket di https://github.com/twitter/AnomalyDetection:

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

lakukan triknya.

Dodgie
sumber
8

Selain itu, Anda dapat membangun paket biner menggunakan opsi --binary.

R CMD build --binary RJSONIO_0.2-3.tar.gz
haridsv
sumber
21
R CMD build --binarysudah ditinggalkan; gunakan R CMD INSTALL --buildsaja
f3lix