SORU
9 EYLÜL 2009, ÇARŞAMBA


R (Windows) yeni bir sürümünü yüklemek için acısız şekilde?

Andrew Gelman recently lamented the lack of an easy upgrade process for R (muhtemelen daha fazla) Linux, Windows ilgili. Herkes yükseltme, tüm ayarları paketler/kopyalama yazılımı ve yükleme yapmak için iyi bir hile var mı?

Bu öneri ve açıklamalarda bulunan ve son zamanlarda kullanıyorum. İlk yeni sürümünü yükleyin, eski yollar keşfedin bu çalıştırın:

#--run in the old version of R
setwd("C:/Temp/")
packages <- installed.packages()[,"Package"]
save(packages, file="Rpackages")

Yeni sürümü bu izler:

#--run in the new version
setwd("C:/Temp/")
load("Rpackages")
for (p in setdiff(packages, installed.packages()[,"Package"]))
install.packages(p)

CEVAP
20 EKİM 2010, ÇARŞAMBA


Sadece bütünlüğü için, bu sorunu önlemek için bazı yollar vardır. Dirk dediği gibi, bilgisayarınızda başka bir dizine paketleri kaydedin.

install.packages("thepackage",lib="/path/to/directory/with/libraries")

Varsayılan 9 ** değer .libPaths çok işlevi kullanarak değiştirebilirsiniz

.libPaths("/path/to/directory/with/libraries")

Bu .Library değişken ilk değer olarak bu yolu koyarlar ve varsayılan yapacaktır.

Eğer bu daha da otomatik hale getirmek istiyorsanız, Rprofile bu belirtebilirsiniz.R /etc/ dizini bulmak hangi site dosya yapı. R yükler, ve bu konuda endişelenmenize gerek yok otomatik olarak her zaman daha fazla yük olacaktır. Sadece yükleyin ve belirtilen dizin paketleri yükleyebilirsiniz.

Son olarak, bazı küçük kod benim Rprofile dahil.site bana yeni R versiyonu kurduğum zaman tüm paketleri yeniden yüklemek için izin. Sadece onları listeönceyeni R sürüme güncelleyin. Bir kullanarak yapıyorum .RData dosya tüm paketleri ile güncelleştirilmiş bir listesini içeren.

library(utils)

## Check necessary packages
load("G:\Setinfo\R\packagelist.RData") # includes a vector "pkgs"
installed <- pkgs %in% installed.packages()[, 'Package']
if (length(pkgs[!installed]) >=1){
  install.packages(pkgs[!installed])
}

Bu packagelist yapıyorum.Benim Rprofile .Last() belirterek RData.sitesi. Bu ise bazı yüklü paket listesini günceller :

.Last <- function(){
  pkgs <- installed.packages()[,1]
  if (length(pkgs) > length(installed)){
    save(pkgs,file="G:\Setinfo\R\packagelist.RData")
  }
}

Yeni R versiyonu kurduğum zaman, ben sadece Rprofile için gerekli öğeleri ekleyin.site dosya ve tüm paketleri yeniden yüklenir. Bu Rprofile ayarlamak zorunda.site her neyse (toplam zıtlıkları kullanarak, Tinn-R, ekstra kod ekleyerek bu işler), bu yüzden çok ekstra bir iş değil. Sadece ekstra zaman yeniden tüm paketleri yükleme alır.

Bu son bit bir çözüm olarak asıl soruya verilen eşdeğer bir şey. Ben sadece "" listesi. ilk yüklü alma hakkında endişelenmenize gerek yok

Yine, eğer bu KURABİYELERLE yüklü olmayan paketler varsa kusursuz çalışmıyor. Ama bu kod kolayca uzatılabilir olanları da vardır.

Edit: kodda eksik bir ayraç vardı

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrMimoB

    MrMimoB

    11 NİSAN 2011
  • stewmurray47

    stewmurray47

    1 Kasım 2006
  • stokelycalm

    stokelycalm

    28 Aralık 2010