web-dev-qa-db-ja.com

Rパッケージの古いバージョンのインストール

Rpy2とggplot2を使用しようとしていますが、エラーが発生します。オンラインでエラーを検索したところ、gpylot2パッケージにRpy2にまだ反映されていない変更があるためにエラーが発生することがわかりました(たとえば、 this post (Edit:Link is dead) ))。

したがって、古いバージョンのggplot2をインストールする必要があります。ここに私が欲しいものの擬似コードがあります:

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

しかし install.packagesにはversion引数がありません 。どうすればいいのですか?

115
hirolau

ソースから古いバージョンのパッケージをインストールする(R内):

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

これがうまくいかず、Windowsを使用している場合、その理由はおそらく パッケージをビルド/コンパイルするための適切なツールチェーンの欠如 です。通常、CRANから事前にコンパイルされたバイナリをインストールしますが、アーカイブではなくパッケージsourcesのみをアーカイブします。[1] つまり、すべてをローカルでコンパイルできるように、 Rtools をインストールする必要があります。 (注:Rtools Rパッケージではありません 。)

@ shadow's answer belowdevtools::install_version()を使用できることを証明します。これも良い考えですが、WindowsでRtoolsが必要になることもあります。

2015年9月18日の時点で、 新しいパッケージバージョンがCRANに登場しました 。これは Revolution Analytics MRAN サーバーに依存して、特定のバージョンまたは日付のパッケージをインストールします。

# 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'))

これには、RtoolsにWindowsにバイナリパッケージをインストールする必要がないという利点がありますが、2014-09-17(MRANが起動されたとき)にのみ機能します。

コマンドラインから古いバージョンをインストールするには(Rの外部):

また、wgetなどを使用して、マシン上でローカルにパッケージソース( "tarball")を取得したら、コマンドライン(ターミナル、コマンドプロンプトなど)でR CMD INSTALLを使用してパッケージをインストールすることもできます。 (お持ちの場合):

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

または、Windowsを使用している場合、PowerShellを使用する場合は次のようになります。

(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")

または、Webブラウザーを介してCRANアーカイブからソースをダウンロードできます。

ローカルファイルからインストールするには、次のようにします。

R CMD INSTALL ggplot2_0.9.1.tar.gz

これはどのプラットフォームでも動作するはずです(上記と同じ注意事項-パッケージをビルドするためのツールチェーンが必要です)。


[1]これはもはや完全に真実ではありません。 2016年3月から、CRANは非常に古いバージョンのR(> 5歳)のWindowsおよびMacバイナリを含む 「CRANアーカイブ」サーバー のホスティングを開始しました。これで、install.packages()を使用してこのサーバーから直接インストールできます。詳細については、新しい R FAQ 7.44 を参照してください。

134
Thomas

devtoolsパッケージは、これを直接実行できるinstall_version関数を提供します。

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

別の回答で説明されているinstall.packagesを使用しても機能しません。

私が見つけた最良の代替案は、パッケージdevtoolsの関数install_urlを使用することです。

私がこれ以上検討していない別の可能性:

  1. パッケージアーカイブから古い.tar.gzソースファイルをダウンロードします。
  2. http://rtm.wustl.edu/writings/htrtargz.pdf に記載されている手順に従って、ローカルにインストールします。
5
asieira

以下のリンクから適切なバージョンをZipファイルとしてダウンロードできます。

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

R Studio:ツール>>パッケージのインストール>>インストール元:(ドロップダウンを選択)

パッケージアーカイブファイル(.Zip、.tar.gz)。

新しくダウンロードしたパッケージのZipファイルを選択して、パッケージをインストールします

4
user23899

良い解決策を見つけましたが、私にとってはうまくいきました(詳細は link にあります)。

「repmis」ライブラリのコマンド:

# 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)
4
Aybek Khodiev

Pure install.packagesメソッド

r-develメーリングリストのこのスレッド を参照してください。 Kurt Wheelerへの返信として、Kurt HornikはCRANウェブサイトの文書化されていない機能を明らかにして、パッケージの特定のバージョンを指定します。

このメソッドは、必要な依存関係がすべてインストールされている限り機能します。

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

上記のURL構造に注意してください。これは、CRANが最新バージョンとアーカイブバージョンとで異なるURL構造を持っているという問題に対処します。

# 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メソッド

別のオプションは、remotes::install_versionfunction を使用することです。ただし、remotespackage をインストールする必要があります。

1