HOWTO · R
R のバージョンを確認する方法
R コンソール、ターミナル、R スクリプト内で R のバージョンを確認する方法と、各方法がどのセッションや実行ファイルを報告するのかを学びます。
このページの内容
R の中では R.version.string を使うと簡潔なバージョンラベルが得られ、ターミナルでは R --version を実行すると、そのターミナルの PATH で見つかった実行ファイルを調べることができます。コンソールの式は開いた R セッションを表しますが、ターミナルのコマンドは IDE が選択したものとは異なるインストールを指す場合があります。
R コンソールで R のバージョンを確認する
R プロンプトで R.version.string を評価すると、リリース番号とビルドの詳細を含む短いラベルが出力されます。これは通常、現在のコンソールや RStudio セッションが使用しているバージョンを特定する最も速い方法です。この式は値を読み取るもので、関数を呼び出すものではありません。
cat(R.version.string, "\n")
出力:
R version 4.2.2 Patched (2022-11-10 r83330)
構造化された詳細については R.version を確認します。これは関数ではなく組み込みオブジェクトであり、そのフィールドはメジャーとマイナーのコンポーネント、プラットフォーム、バージョン文字列など、R のビルドを表します。R.version$major のように特定のフィールドを読むには $ を使い、ビルド間の違いを診断する場合はオブジェクト全体を表示します。正確なフィールドと値は R のインストールによって異なるため、別のマシンに結び付いたサンプルに頼るのではなく、バージョン文字列と関連するコンポーネントを比較してください。
sessionInfo() はより広範なトラブルシューティングの問いに答えます。R のバージョンとともに、オペレーティングシステム、ロケール、アタッチまたは読み込まれたパッケージの情報を報告します。問題がパッケージやセッション設定に依存する可能性がある場合はこれを使い、バージョンラベルだけが必要な場合は R.version.string を使います。
コマンドラインから R のバージョンを確認する
ターミナルで R --version を実行します。これにより、現在の PATH から解決された R 実行ファイルに、そのバージョン情報の出力を求めます。このコマンドは、グラフィカルコンソールを開かないサーバーやシェルで便利です。その結果はその実行ファイルを特定するもので、コンピューター上のすべての R インストールを必ずしも特定するものではありません。
ターミナルに出力されたバージョンが RStudio や他の IDE の R.version.string と異なる場合、2 つの環境は異なる R 実行ファイルを使用しています。ターミナルがどの実行ファイルを解決するかと、IDE がどのインストールを使うよう設定されているかを確認します。バージョンチェックはパッケージの互換性の診断に役立ちますが、それだけでプロジェクトがどの R リリースを必要とするかが決まるわけではありません。インストールを変更する前に、プロジェクトのセットアップ手順とパッケージ要件を確認してください。
R スクリプトで R のバージョンを確認する
R スクリプトは、それを実行しているバージョンを出力し、リリースコンポーネントを最小値と比較できます。getRversion() は比較用に設計されたバージョン値を返すため、バージョンラベルを通常のテキストとして扱うことを避けられます。たとえば、テキストの並べ替えでは 4.10 や 4.9 のようなリリースの順序を誤る場合があります。代わりに、バージョンを意識した比較を使ってください。
cat(R.version.string, "\n")
required_version <- "4.0.0"
current_version <- getRversion()
if (current_version >= required_version) {
cat("The required R version is available.\n")
} else {
cat("This script expects R ", required_version, " or later.\n", sep = "")
}
出力:
R version 4.2.2 Patched (2022-11-10 r83330)
The required R version is available.
必要なリリースは例の値です。コードやプロジェクトがサポートする最小値に置き換えてください。スクリプトはアクティブな R バージョンを出力し、その R が要件を満たすかどうかを報告します。R のインストールや選択方法の決定は、プロジェクトの環境設定に委ねられます。再現可能なバグ報告には、バージョンラベルに加えて sessionInfo() も含めてください。パッケージのバージョンやプラットフォームの詳細が動作に影響する場合があるためです。