505

大学のクラスターをどのように使用するかを考えているところです。2 つのバージョンの R がインストールされています。システム全体の R 2.11 (Debian 6.0) および R 2.14.2 が非標準の場所にあります。

MPI を Snow と一緒に使用しようとしています。私が実行しようとしているコードは次のとおりです

library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()

R 2.11 では問題なく動作します。(私はスクリプトを起動しますmpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R)。R 2.14.2 で実行しようとすると、次のメッセージが表示されます。

Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:

したがって、R は R 2.11 用にコンパイルされたパッケージ Snow バージョンをロードするようです。R 2.14 の Snow をホーム フォルダーにインストールし、コードに次の行を追加しました。

.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)

エラーが発生する前の出力では、実際に R 2.14.2 を実行していて、R パッケージ フォルダーが検索パスの最初にあることが確認されます。しかし、私はまだエラーが発生します。

私の質問は、どのバージョンのパッケージが R にロードされているかをどのように判断するのですか? installed.packagesインストールされているすべてのパッケージを見ることができる ので、ロードされたパッケージについて同様の情報を一覧表示する機能があるのではないでしょうか?

4

13 に答える 13

653

を使用sessionInfo()してそれを実現できます。

> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] graphics  grDevices utils     datasets  stats     grid      methods   base     

other attached packages:
[1] ggplot2_0.9.0  reshape2_1.2.1 plyr_1.7.1    

loaded via a namespace (and not attached):
 [1] colorspace_1.1-1   dichromat_1.2-4    digest_0.5.2       MASS_7.3-18        memoise_0.1        munsell_0.3       
 [7] proto_0.3-9.2      RColorBrewer_1.0-5 scales_0.2.0       stringr_0.6       
> 

ただし、コメントと以下の回答によると、より良いオプションがあります

> packageVersion("snow")

[1] '0.3.9'</p>

または:

"Rmpi" %in% loadedNamespaces()
于 2012-06-19T14:31:47.137 に答える
320

utils::packageVersionインストールされているパッケージのバージョンを確認するために使用できます。

> packageVersion("snow")
[1] ‘0.3.9’

ご了承ください

有効なフィールドDESCRIPTIONを含むファイルがない限り、パッケージは「見つかりません」 。Versionパッケージ ディレクトリが見つからない場合と、適切なディレクトリはあるが有効なDESCRIPTIONファイルがない場合は、異なる警告が表示されます。

実行している R のバージョンを確認したいように思えますが、その場合は@Justin のsessionInfo提案が適しています。

于 2012-06-19T14:36:34.357 に答える
25

R execute のバージョンを確認するには:R --version

または、R シェルに入った後、次の内容を出力します。version$version.string

編集

インストールされているパッケージのバージョンを確認するには、次の手順を実行します。

ライブラリを読み込んだ後、実行できますsessionInfo ()

しかし、インストールされているすべてのパッケージのリストを知るには:

packinfo <- installed.packages(fields = c("Package", "Version"))
packinfo[,c("Package", "Version")]

または、特定のライブラリ バージョンを抽出するには、上記の関数を使用して情報を抽出したらinstalled.package、マトリックスの最初の次元でパッケージの名前を使用します。

packinfo["RANN",c("Package", "Version")]
packinfo["graphics",c("Package", "Version")]

上記は、RANN ライブラリとグラフィックス ライブラリのバージョンを出力します。

于 2012-06-19T14:32:09.583 に答える
22

あなたはこのようなことを試すことができます:

  1. package_version(R.version)

  2. getRversion()

于 2012-09-23T02:22:49.407 に答える
7

R メソッドpackageDescriptionを使用して、インストールされたパッケージの説明を取得し、バージョンについては次のように使用$Versionします。

packageDescription("AppliedPredictiveModeling")$Version
[1] "1.1-6"
于 2016-05-14T05:04:44.163 に答える
1

次のコードを使用して、システムにインストールされている R パッケージのバージョンを取得します。

installed.packages(fields = c ("Package", "Version"))
于 2015-09-24T08:07:42.083 に答える