R での解析に使用したパッケージを記録しておくべき
Rが信頼性の高いソフトウェアであることは間違いありません、
しかし、公式リポジトリに登録されていて実績のあるパッケージであったとしても、バグが存在する可能性があります。
利用しているパッケージにバグが見つかった場合に備えて、使用したパッケージのバージョンを記録しておくことは重要です。
論文の査読者から要求される場合もあります。
バージョンを出力するコード
セッションで利用したパッケージのバージョン一覧を表示するコードです。
一連の解析の最後に実行してください。
R markdown を利用しているなら、最後に書き足しておくとよいと思います。
R
cat("Analysis is conducted using", R.version.string, "\n")
info <- sessionInfo()
packages <- c(info$otherPkgs, info$loadedOnly)
pkg_versions <- sapply(packages, function(pkg) paste(pkg$Package, pkg$Version))
cat("The script uses the following packages and versions:\n")
cat(pkg_versions, sep = "\n")
コードの説明
-
R.version.string
は、現在のRバージョンを文字列で表したものです -
sessionInfo()
関数を使って、現在のRセッションに関する情報を取得します -
info$otherPkgs
とinfo$loadedOnly
を結合して、ロードされているパッケージのリストを作成します -
sapply()
関数を使って、各パッケージの名前とバージョンを文字列で結合します
出力例
このスクリプトを実行すると、以下のような出力が得られます。
これは、生存期間に対する多変量解析 (Cox比例ハザード回帰) の例です。
Analysis is conducted using R version 4.4.0 (2024-04-24)
The script uses the following packages and versions:
compiler 4.4.0
Matrix 1.6-5
survival 3.5-7
splines 4.4.0
grid 4.4.0
lattice 0.22-5
注意
-
一連のセッションで利用されたすべてのパッケージの情報が出力されます
- 探索的な解析を行ったり、いくつかのパッケージを試して比較するなどした場合には、それらすべての情報が出力されます。すなわち、最終的な解析で使用したパッケージ以外の情報も含まれることがあります
-
出力されるパッケージ情報の順序は、ロードされた順序と異なる場合があります
- これは、
sessionInfo()
関数の仕様によるものです
- これは、
-
同じパッケージが複数のバージョンでロードされている場合がある
- パッケージの依存関係によっては、バージョンの異なる複数のパッケージがロードされている場合があります
Reactive stat について
弊社では ブラウザだけで使える無料統計ソフト Reactive stat を提供しています。
信頼性の高い R で統計解析し、その結果を AI が解説します!
Reactive stat では、すべての R の出力にこの情報が付与されます