0
0

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$otherPkgsinfo$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 の出力にこの情報が付与されます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0