Di mana paket R store?

207

The install.packages()fungsi dalam R adalah utilitas unzip otomatis yang mendapat dan menginstal paket-paket di R.

  1. Bagaimana cara mengetahui direktori apa yang telah dipilih R untuk menyimpan paket?

  2. Bagaimana saya bisa mengubah direktori tempat R menyimpan dan mengakses paket?

Milktrader
sumber

Jawaban:

249

Perintah install.packages melihat melalui variabel .libPaths. Inilah yang menjadi bawaan saya di OSX:

> .libPaths()
[1] "/Library/Frameworks/R.framework/Resources/library"

Saya tidak menginstal paket di sana secara default, saya lebih suka menginstalnya di direktori home saya. Dalam. Profil saya, saya memiliki baris ini:

.libPaths( "/Users/tex/lib/R" )

Ini menambahkan direktori "/ Users / tex / lib / R" ke bagian depan variabel .libPaths.

James Thompson
sumber
ini yang ingin saya lakukan, tetapi bagaimana saya mengakses dan. Profil? Prompt tidak mengenalinya sebagai objek atau fungsi
Milktrader
7
Itu adalah file . Sekali lagi, baca manual yang bagus, dan / atau bantuan (Startup).
Dirk Eddelbuettel
44

Ini didokumentasikan dalam manual 'R Instalasi dan Administrasi' yang menyertai instalasi Anda.

Di kotak Linux saya:

R> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"           
R> 

artinya jalur default adalah yang pertama. Anda dapat menimpanya melalui argumen ke install.packages()(dari dalam R) atau R CMD INSTALL(di luar R).

Anda juga dapat mengganti dengan mengatur variabel R_LIBS_USER.

Dirk Eddelbuettel
sumber
Saya punya mesin Windows Vista, tetapi dengan asumsi prosedur yang sama ada, apakah Anda menentukan direktori dalam daftar argumen install.packages () bersama dengan nama paket?
Milktrader
3
Sudahkah Anda menemukan 'bantuan (instal.paket)'? Juga, lihat 'bantuan (Startup)' sesuai komentar terakhir saya. Dan baca manual itu. Terakhir, pada * doze saya cenderung mengatur R_LIBS = "C: / opt / R / library" dalam file .Renviron. Saya tahu Anda akan bertanya tentang hal itu juga - jadi baca bantuan (Startup). Baik? ;-)
Dirk Eddelbuettel
1
Saya punya selusin manual R pada Kindle saya (termasuk halaman 3.000+) dan tidak mengetahui file bantuan Startup. Saya telah membaca manual dan menemui jalan buntu. Coba bayangkan itu adalah jawaban sederhana selama ini. Apakah saya kehilangan poin untuk pertanyaan RTFM <- Saya tidak punya banyak kehilangan. Terima kasih sekali lagi Dirk. Sampai jumpa di R / Keuangan minggu depan. Meningkatkan keterampilan R sebaik mungkin sehingga saya tidak mendapatkan debu saat presentasi.
Milktrader
1
3000+ halaman adalah kumpulan dari semua halaman bantuan - paling tidak membantu. 'Instalasi dan Admin' yang disebutkan di atas seharusnya sangat berguna untuk apa yang Anda kejar di sini.
Dirk Eddelbuettel
apakah ada cara yang setara untuk menemukan ini dari bash command line? yaitu, variabel lingkungan yang menentukan di mana pustaka R diinstal jika $R_LIBSdan $R_LIBS_USERtidak diatur? (Saya ingin dapat menjalankan skrip R dalam inst/direktori paket yang diinstal) pada sistem Unix apa pun.
David LeBauer
12

Terima kasih atas arahan dari dua penjawab di atas. Saran James Thompson bekerja paling baik untuk pengguna Windows.

  1. Pergi ke tempat program R Anda diinstal. Ini disebut R_Homedalam literatur. Setelah Anda menemukannya, buka subdirektori / etc.

    C:\R\R-2.10.1\etc
  2. Pilih file di folder ini bernama Rprofile.site. Saya membukanya dengan VIM. Anda akan menemukan ini adalah file tanpa tulang dengan kurang dari 20 baris kode. Saya memasukkan yang berikut ke dalam kode:

    # my custom library path
    .libPaths("C:/R/library")

    (Komentar ditambahkan untuk melacak apa yang saya lakukan pada file.)

  3. Di R, mengetik .libPaths()fungsi menghasilkan target pertama diC:/R/Library

CATATAN: kemungkinan ada lebih dari satu cara untuk mencapai ini, tetapi metode lain yang saya coba tidak berhasil karena beberapa alasan.

Milktrader
sumber
1
Saya menyalin baris kata yang disisipkan .libPaths=("C:/R/library")ke file Rprofile.site saya . Saya meluncurkan R 2.13.1 64 bit dan mendapatkan kesalahan ini: Kesalahan: tidak dapat mengubah nilai penguncian yang dikunci untuk '. LibPaths' Saya menggunakan Windows 7.
Fred
1
Lihat jawaban Dave : seharusnya .libPaths("...")(panggilan dan bukan tugas).
CodeFox
0

Anda tidak ingin '='

Gunakan .libPaths("C:/R/library")di Rprofilefile situs Anda

Dan pastikan Anda memiliki simbol "yang benar (Shift-2)

Dave
sumber