R paketinin eski sürümünü yükleme


134

Rpy2 ve ggplot2 kullanmaya çalışıyorum ama bir hata alıyorum. Hatayı çevrimiçi olarak biraz aradıktan sonra, hatanın, ggplot2 paketinde henüz Rpy2'ye yansıtılmayan değişiklikler olduğu için oluştuğunu gördüm (örneğin, bu gönderiye bakın (Düzenleme: Bağlantı artık öldü)).

Bu yüzden şimdi ggplot2'nin eski bir sürümünü yüklemem gerekiyor. İşte istediğim şey için sözde kod:

install.packages("ggplot2", version='0.9.1')

Ama install.packagesbir versionargüman yok . Nasıl yaparım?


Yanıtlar:


150

Kaynaktan (R içinde) bir paketin eski bir sürümünü yüklemek için:

packageurl <- "http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz"
install.packages(packageurl, repos=NULL, type="source")

Bu sizin için işe yaramazsa ve Windows kullanıyorsanız, bunun nedeni muhtemelen paketleri oluşturmak / derlemek için uygun bir araç zincirinin olmamasıdır . Normalde CRAN'dan önceden derlenmiş bir ikili dosya kurarsınız, ancak bunlar ikili dosyaları değil, yalnızca paket kaynaklarını arşivler . [1] Bu, her şeyi yerel olarak derleyebilmeniz için Rtools'u kurmanız gerektiği anlamına gelir . (Not: Rtools bir R paketi değildir .)

@ shadow'un aşağıdaki cevabı da kullanabileceğiniz durumu ortaya çıkarıyor devtools::install_version(). Bu aynı zamanda iyi bir fikir, ancak aynı zamanda Windows'ta Rtools'a ihtiyaç duyulmasına da tabidir.

18 Eylül 2015 itibariyle, CRAN'da yeni bir paket sürümleri çıktı . Bu , belirli sürümler veya tarihler için paketleri kurmak için Revolution Analytics MRAN sunucusuna dayanır :

# install yesterday's version of checkpoint, by date
install.dates('checkpoint', Sys.Date() - 1)

# install earlier versions of checkpoint and devtools
install.versions(c('checkpoint', 'devtools'), c('0.3.3', '1.6.1'))

Bu, Rtools'un Windows'a ikili paketler yüklemesini gerektirmeme avantajına sahiptir, ancak yalnızca 2014-09-17'ye (MRAN başlatıldığında) geri dönerek çalışır.

Komut satırından daha eski bir sürümü yüklemek için (R dışında):

R CMD INSTALLPaket kaynağını ("tarball") makinenize yerel olarak yükledikten sonra komut satırını (Terminal, Komut İstemi vb.) Kullanarak da bir paket yükleyebilirsiniz , örneğin wget(eğer varsa):

wget http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz

veya Windows kullanıyorsanız, PowerShell kullanan bir eşdeğeri şöyle olacaktır:

(new-object System.Net.WebClient).DownloadFile("http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz", "./ggplot2_0.9.1.tar.gz")

veya kaynağı CRAN arşivinden web tarayıcınız aracılığıyla indirebilirsiniz.

Yerel dosyadan yüklemek için şunları yapabilirsiniz:

R CMD INSTALL ggplot2_0.9.1.tar.gz

Bu, herhangi bir platformda çalışmalıdır (paket oluşturmak için bir alet zincirine ihtiyaç duyma konusunda - yukarıdakiyle aynı uyarı ile).


[1] Bu artık tamamen doğru değil. Mart 2016'dan itibaren CRAN, R'nin çok eski sürümleri (> 5 yaş) için Windows ve Mac ikili dosyalarını içeren bir "CRAN Arşivi" sunucusunu barındırmaya başladı . Şimdi kullanarak doğrudan bu sunucudan yükleyebilirsiniz install.packages(). Bazı ayrıntılar için yeni R SSS 7.44'e bakın.


4
Teşekkür ederim, sanırım doğru yoldur. Şimdi anladığım çok kötü: Warning message: package ‘http://cran.r-project.org/src/contrib/Archive/ggplot2/ggplot2_0.9.1.tar.gz’ is not available (for R version 2.15.2)
hirolau

3
Rcpp ile benzer bir sorun vardı. Bu, paketin R sürüm bağımlılığından (DEPENDS: <sürüm>) kaynaklanıyor olabilir veya çalışan R oturumu güncellemeyi gerçekleştirmenize izin vermeyebilir. Benim için işe yaradığını bulduğum şey, güncellemeyi Mark Butler'ın (aşağıda) önerdiği şekilde yapmaktı (R CMD INSTALL your_version.tar.gz). Bu benim durumumda R 2.15.3 içindi.
Robert Casey

@Antoine Windows'ta mısınız? Ve eğer öyleyse, Rtools yüklü mü?
Thomas

@Thomas Yanıt verdiğiniz için teşekkürler. Evet, Windows'ta "sahte yüklü" Rtools ile bu konuya bakın .
Antoine

@Thomas Makinemdeki bariz yerel sorunları önlemek için komut dizimi Amazon EC2'de çalıştırmaya çalışacağım (kitaplık yolları, paketlerin R sürümleri ile paket sürümleri, derleme sorunları vb.)
Antoine

88

remotesPaketi sunuyor install_versiondoğrudan yapabilirsiniz işlevi.

require(remotes)
install_version("ggplot2", version = "0.9.1", repos = "http://cran.us.r-project.org")

Daha önce, bu yanıt devtools, install_versionişlevi yeniden dışa aktaran paketi işaret ediyordu . @MichaelChirico, remotespaketin tercih edilebilir olduğuna işaret ettiği için teşekkürler .


install_versionBelirli bir sürümü her yüklemek istediğinizde aynı paketin birden çok sürümünü saklayabilir misiniz ? söyle,library(ggplot2-0.9.1)
PatrickT

1
@PatrickT Bunu yerel bir kütüphane kullanarak yapabilirsiniz. Örneğin install_version('ggplot2', version = 0.9.1, lib = 'path_to_library_with_ggplot_0.9.1')velibrary(ggplot2, lib.loc = 'path_to_library_with_ggplot_0.9.1')
gölge

1
install_version
tjjjohnson

1
Günümüzde Bence remotes::install_versionberi tercih edilir remotesçok daha hafif bir pakettir devtools( devtools::install_versionsadece yeniden ihraç edilir remotes::install_version)
MichaelChirico

5

install.packagesBaşka bir cevapta anlatıldığı gibi kullanmak benim için işe yaramıyor.

Bulduğum en iyi alternatif install_url, paketin işlevini kullanmaktır devtools.

Daha fazla araştırmadığım bir başka olasılık:

  1. Paket arşivlerinden eski .tar.gz kaynak dosyasını indirin.
  2. Yerel olarak yüklemek için http://rtm.wustl.edu/writings/htrtargz.pdf adresinde belgelenen adımları izleyin .

Bu benim için çalışmıyor, ayrıntılar için lütfen stackoverflow.com/q/22673474/684229 sorumu takip edin .
TMS

+1, R CMD INSTALLKomut Ubuntu'da da çalışıyor. Teşekkürler!!
Phani

5

Aşağıdaki bağlantıdan uygun sürümünüzü zip dosyası olarak indirebilirsiniz.

http://cran.r-project.org/src/contrib/Archive/ggplot2/

R Studio'da: Araçlar >> Paketleri yükle >> Yükleme yeri: (açılır listeyi seçin)

Paket Arşiv Dosyası (.zip, .tar.gz).

Yeni indirilen paket zip dosyanızı seçin ve paketi yükleyin


4

Benim için işe yarayan iyi bir çözüm buldum (ayrıntılar bağlantıda ).

"Repmis" kitaplığında komut:

# Install old versions of the e1071 and gtools packages.

# Create vectors of the package names and versions to install
# Note the names and version numbers must be in the same order
Names <- c("e1071", "gtools")
Vers <- c("1.6", "2.6.1")

# Install old package versions into the default library
InstallOldPackages(pkgs = Names, versions = Vers)

1

Saf install.packagesyöntem

R-devel posta listesinde bu konuya bakın . Kurt Wheeler'a yanıt olarak Kurt Hornik, bir paketin belirli bir sürümünü belirtmek için CRAN web sitesinin belgelenmemiş bir özelliğini ortaya koyuyor.

Bu yöntem, gerekli tüm bağımlılıkları zaten yüklediğiniz sürece çalışacaktır:

package = "https://cran.r-project.org/package=svglite&version=1.2.1"
utils::install.packages(pkgs = package, repos = NULL)

Yukarıdaki URL yapısına dikkat edin. Bu, CRAN'ın en son sürüm için arşivlenmiş sürümlerden farklı bir URL yapısına sahip olması sorununu giderir:

# Latest version (not available at Archive/svglite)
https://cran.r-project.org/src/contrib/svglite_1.2.1.tar.gz
# Archived version
https://cran.r-project.org/src/contrib/Archive/svglite/svglite_1.2.0.tar.gz

remotes::install_version yöntem

Diğer bir seçenek de remotes::install_version işlevi kullanmaktır . Ancak remotes paketi kurmanız gerekecek .


0

2014-09-17'den beri yayınlanan paket sürümleri için bu görevi önemli ölçüde basitleştiren bir versionspaket var. Revolution Analytics'te MRAN sunucusunun anlık görüntülerini kullanarak:

  • herhangi bir CRAN paketinin yayın tarihlerini ve MRAN kullanılabilirliğini göster ( available.versions),

  • bir veya daha fazla paketin belirtilen sürümlerini kurun ( install.versions) veya

  • belirtilen herhangi bir tarihte mevcut olan paket sürümlerini yükleyin ( install.dates). Standart install.packagesfonksiyon aracılığıyla MRAN sunucusundan kurulumu yapar , böylece kaynaktan derlemek zorunda kalmadan mevcut ikili sürümler kurulabilir ve belirtilen tarih itibariyle paket bağımlılıkları dahil edilebilir.

Elbette paket sürümleri ve R sürümlerinin kombinasyonlarında uyumluluk sorunları olabilir. Farklı R sürümlerini çalıştırmak için, örneğin bu sayfaya bakın .

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.