R ファイル形式とは?
.r ファイル(慣習的には大文字の .R と表記されます)には、1993年にオークランド大学の Ross Ihaka と Robert Gentleman によって作成された R 統計プログラミング言語のソースコードが含まれています。R は、学術研究や科学研究における統計計算、バイオインフォマティクス、データサイエンスの主要な言語です。
.R スクリプトは、必須の構造を持たないプレーンな UTF-8 テキストです。ステートメントは上から下に実行されるか、source() を介して後でロードするための関数を定義します。一般的なスクリプトは、パッケージをロードするための library() 呼び出しで始まり、代入には <- 演算子を使用し、tidyverse または base-R のデータ操作を適用し、lm() や glm() などの関数で統計モデルを適合させ、ggplot2 や標準グラフィックスを通じて視覚化を生成します。コメントの先頭には # が付きます。スクリプトはコマンドラインから Rscript script.R で実行するか、RStudio 内で対話的に実行します。Unix システムでは、シバン #!/usr/bin/env Rscript により直接実行が可能です。
実用上の注意点として、大文字と小文字を区別するファイルシステム(Linux、macOS)では、.R と .r は別のファイルとして扱われます。GitHub Linguist は歴史的に .r を R ではなく REBOL と誤認していましたが、REBOL コミュニティは曖昧さを避けるために .reb や .r3 拡張子へと移行しています。関連する形式には、文芸的プログラミング用の R Markdown (.rmd) や、シリアル化された R オブジェクト用の RData (.rdata) があります。
セキュリティと安全性
リスク: MEDIUMR スクリプトはインタープリタ形式のコードです。信頼できない .R ファイルを実行すると、任意のファイルシステム操作、ネットワークリクエスト、パッケージのインストールが行われる可能性があります。未知のソースからのスクリプトを実行する前に、テキストエディタで開いて内容を確認してください。R コードは system() や shell() を呼び出して OS コマンドを実行できます。未知の .R ファイルは、他の実行可能スクリプトと同様に取り扱ってください。
形式の詳細
概要- REBOL スクリプト - REBOL (Relative Expression Based Object Language) は歴史的に .r を使用していましたが、現在は R 統計スクリプトとの混乱を避けるため、コミュニティは .reb / .r3 を好んで使用します。
R ファイルを開くプログラム
技術的詳細
詳細仕様| テキストエンコーディング | UTF-8(推奨、および最新の R でのデフォルト)。古いバージョンでは ASCII またはシステムロケールが受け入れられます |
| コメント構文 | 行およびインラインコメントには `#` プレフィックスを使用。標準の R にはブロックコメント構文はありません |
| 代入演算子 | `<-`(標準的な R スタイル)。`=` も有効ですが、慣習的に関数の引数渡し用に予約されています |
| 大文字と小文字の区別 | 大文字と小文字を区別するファイルシステム(Linux、macOS)では `.R` と `.r` は区別されます。GitHub Linguist は `.r` を REBOL と誤分類する場合があります |
| 実行方法 | コマンドラインからの `Rscript script.R`、R セッション内での `source("script.R")`、RStudio での対話型 REPL |
| シバン(Shebang)サポート | ファイルが実行可能としてマークされている場合、1行目の `#!/usr/bin/env Rscript` により Unix での直接実行が可能になります |
| パッケージシステム | `library(pkgname)` でパッケージをインポート。CRAN には20,000以上のパッケージがあり、ゲノミクスワークフローには Bioconductor があります |
| 必須構造なし | 必須の `main()` 関数やモジュール宣言は不要。実行は上から下へと進みます |
| 一般的なファイルサイズ | ほとんどの分析スクリプトで 100 KB 未満。大きなデータベクトルがリテラルとして埋め込まれている場合は数 MB に達することもあります |
| 主要な IDE | RStudio (Posit) - .R ファイルの構文ハイライト、統合 REPL、プロットビューア、パッケージ管理を提供します |
| エコシステムでの役割 | 統計モデリング (`lm()`, `glm()`)、データ加工 (dplyr, tidyr)、視覚化 (`ggplot2`)、バイオインフォマティクス (Bioconductor) |
| 再現性の慣行 | 確率的再現性のための `set.seed()`、公開された分析の実行環境を記録するための `sessionInfo()` |
| リリース日 | 1993 (R language); .R extension used since R's public availability (~1995) |
| 最新バージョン | R 4.4.x (2024); language and .R format unchanged in structure |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.r-project.org |
R の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。R ファイルについて最初の質問をしてみましょう。