2013-04-18 31 views
15

SO üzerinde yinelenen bir soru, xx paketinin R sürüm 2.xx.xx için mevcut olmamasıdır. example için gplots paketi, kullanıcının kurması için R 3.0'ın yüklü olmasını gerektirir. Arşivdeki eski sürümleri CRAN'da alabilirsiniz, ancak:R paketlerinin eski sürümlerini verimli bir şekilde alma

  • Belirli bir R sürümü için hangi paket sürümüne ihtiyacınız olduğunu görmek kolay değildir.
  • Windows altında birincil olarak (hafif) bir sorun olan paketi kaynaktan oluşturmanız gerekir.

Soruma soru şudur: eski sürüm R sürümünüzle eşleşen eski paket sürümlerini edinmede daha etkili bir iş akışı var mı? Ubuntu'nun farklı versiyonu için farklı paket depolarına sahip olma ruhunda.

Sadece R'nin en son sürümünü almak için bir seçenek olacağını biliyorum, ancak R'nin belirli bir sürümüne basmak için bazı nedenler olabilir. Örneğin, eski bir denemeyi tekrarlamak ilginizi çekebilir. R ve destek paketlerinin eski bir sürümü. Ya da sistem yönetimi tarafından sınırlıdır.

+2

Bu ilginç olurdu. R için makine öğrenimi üzerine bir kitap üzerinde çalışıyorum ve R ve paket sürümlerimin daha yeni olması nedeniyle biraz zaman kaybettim. Kitapta verilen bazı komutlar daha yeni paket sürümleri için çalışmaz. "R ve paketleri belirli bir sürümde olduğu gibi almak" için iyi olur. – TooTone

+2

Yazarlar, R'nin sürümünü ve herhangi bir analizde çoğaltılmasına izin vermek için doğrudan veya dolaylı olarak kullanılan tüm paketlerin sürümünü gösterirse en iyisi. –

+0

Evet, bir meslektaşınızdan sizin için tüm kaldırma işlemini yapmasını isteyin. :) –

cevap

4

Bu tamamen test edilmemiş (R'nin en son sürümünü çalıştırıyorum ve test etmek için R'nin eski bir sürümünü yüklemek için şu an zamanımız yok), ancak belki de bir fikir, tarihleri ​​" Arşiv "sayfası için arşivleyin, R sürümünüzün tarihiyle karşılaştırın ve en son sürümden başlayarak önceki sürümleri aşamalı olarak yüklemeyi deneyin.

  • Ben ilk yüklemeye çalıştığınızda olacaktır: Ben işlevine en az aşağıdaki şeyler eklemek istiyorum, Buradan

    install_archive <- function(PackageName) { 
        if(!require("XML")) 
         install.packages("XML") 
        if(!require("devtools")) 
         install.packages("devtools") 
        rVersionDate <- as.Date(paste(R.Version()[c("year", "month", "day")], 
               collapse = "-")) 
        BaseURL <- "http://cran.r-project.org/src/contrib/Archive/" 
        u <- htmlParse(paste(BaseURL, PackageName, sep = "")) 
        doc <- readHTMLTable(u, skip.rows=1:2)[[1]][2:3] 
        releaseDate <- as.Date(strptime(doc$`Last modified`, 
                format="%d-%b-%Y")) 
        Closest <- which.min(rVersionDate - 
             releaseDate[releaseDate <= rVersionDate]) 
        install_url(paste(BaseURL, doc$Name[Closest], sep = "")) 
    } 
    
    install_archive("reshape") 
    

    :

    Böyle bir şey bir başlangıç ​​noktası olabilir En güncel sürüm ("Arşiv" den değil) ve bu başarısız olursa, devam edin.

  • İleriye doğru, which.min() satırını rank() olarak değiştiririm ve rütbe == 1, rütbe == 2, vb. Deneyin, belki de denemek için maksimum bir değer belirleyebilirim.

Öyle bile olsa, bu bir çok "tahmin ve kontrol", sadece yazılım sizin için tahminde bulunuyor ve otomatik olarak kontrol ediyor. Ve elbette, aynı tavsiye, muhtemelen CRAN'da olmayan iyi bir neden olduğunu gösteriyor!

+0

+1! Geriye doğru destek olmaksızın, örn. Ubuntu'nun eski dağıtımları vardır, daha eski R versiyonlarını çalıştırmak için etkili ve sağlam bir araç olması zor olacaktır. –

İlgili konular