R paketleri nerede saklar?


207

install.packages()R işlev R. paketleri alır ve otomatik yükleme Ayıklama aracıdır

  1. Paketleri depolamak için hangi R dizinini seçtiğini nasıl öğrenebilirim?

  2. R'nin paketleri sakladığı ve eriştiği dizini nasıl değiştirebilirim?

Yanıtlar:


248

İnstall.packages komutu .libPaths değişkenine bakar. İşte benimki OSX'te varsayılan olarak:

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

Paketleri varsayılan olarak buraya kurmuyorum, ana dizinime yüklemelerini tercih ediyorum. Benim .Rprofile, bu satır var:

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

Bu, .libPaths değişkeninin önüne "/ Users / tex / lib / R" dizinini ekler.


bunu yapmak istiyorum, ama nasıl erişebilirim ve .Rprofile?
İstem

7
Bu bir dosya . Tekrar, ince kılavuzu ve / veya yardımı (Başlangıç) okuyun.
Dirk Eddelbuettel

44

Bu, kurulumunuzla birlikte verilen 'R Kurulum ve Yönetim' kılavuzunda belgelenmiştir.

Linux kutumda:

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

yani varsayılan yol bunlardan ilki. Bunu install.packages()(R içinden) veya R CMD INSTALL(R dışından ) bir argümanla geçersiz kılabilirsiniz .

R_LIBS_USER değişkenini ayarlayarak da geçersiz kılabilirsiniz.


Bir Windows Vista makinem var, ancak aynı yordamın var olduğunu varsayarsak, paket adı ile birlikte install.packages () bağımsız değişken listesinde dizini belirtir misiniz?
Milktrader

3
Henüz 'yardım (install.packages)' keşfettiniz mi? Ayrıca, son yorumuma göre 'yardım (Başlangıç)' bölümüne bakın. Ve bu kılavuzları okuyun. Son olarak, * doze üzerinde sadece bir dosya .Renviron R_LIBS = "C: / opt / R / library" ayarlamak eğilimindedir. Bunu da soracağınızı biliyorum - yardım okuyun (Başlangıç). Tamam? ;-)
Dirk Eddelbuettel

1
Kindle'ımda bir düzine R kılavuzu var (3.000'den fazla sayfa dahil) ve Başlangıç ​​yardım dosyasının farkında değildim. Kılavuzları okudum ve çıkmaza girdim. Git başından beri basit bir cevaptı. RTFM soruları için puan kaybeder miyim <- Kaybedecek çok şeyim yok. Tekrar teşekkürler Dirk. Gelecek hafta R / Finance'de görüşmek üzere. Sunumlar sırasında tozlanmamam için R becerilerini olabildiğince arttırmak.
Milktrader

1
3000+ sayfası, tüm yardım sayfasının bir harmanlamasıdır - en az yardımcı olan. Sözü edilen 'Kurulum ve Yönetici', bundan sonra ne olduğunuz için çok yararlı olmalıdır.
Dirk Eddelbuettel

bunları bash komut satırından bulmanın eşdeğer bir yolu var mı? yani, ayarlanmamış $R_LIBSve $R_LIBS_USERayarlanmamışsa R kitaplıklarının nereye kurulduğunu belirten bir ortam değişkeni ? ( inst/Yüklü bir paketin dizininde bir R komut dosyası yürütmek istiyorum ) herhangi bir Unix sistemi üzerinde.
David LeBauer

12

Yukarıdaki iki yanıtın yönlendirmesi için teşekkürler. James Thompson'un önerisi Windows kullanıcıları için en iyi sonucu verdi.

  1. R programınızın kurulu olduğu yere gidin. Buna R_Homeliteratürde atıfta bulunulmuştur . Bulduğunuzda, / etc alt dizinine gidin.

    C:\R\R-2.10.1\etc
  2. Bu klasörde Rprofile.site adlı dosyayı seçin. VIM ile açıyorum. Bunun, 20 satırdan daha az kod içeren çıplak kemikli bir dosya olduğunu göreceksiniz. Kodun içine aşağıdakileri ekledim:

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

    (Dosyaya ne yaptığımı takip etmek için yorum eklendi.)

  3. R harfinde, .libPaths()fonksiyonun yazılması ilk hedefinC:/R/Library

NOT: Bunu başarmak için muhtemelen birden fazla yol vardır, ancak denediğim diğer yöntemler bir nedenden dolayı işe yaramadı.


1
Dediğim çizgiyi yapıştırılan kopya .libPaths=("C:/R/library")benim için Rprofile.site dosyası. R 2.13.1 64 bit'i başlatıyorum ve bu hatayı alıyorum: Hata: '.libPaths' için kilitli bağlamanın değerini değiştiremiyorum Windows 7 kullanıyorum.
Fred

1
Dave'in cevabına bakın : öyle olmalı .libPaths("...")(bir görev değil, bir çağrı).
CodeFox

0

'=' İstemiyorsunuz

Kullanım .libPaths("C:/R/library")sen Rprofile.site dosyası

Doğru simgeye sahip olduğunuzdan emin olun (Shift-2)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.