RDA ファイル形式とは?
.rda ファイル(.RData としても保存されます)は、R 統計計算環境で save() 関数を使用して生成されるバイナリシリアル化ファイルです。ベクトル、データフレーム、リスト、統計モデル、またはワークスペース全体など、1 つ以上の名前付き R オブジェクトを R 固有の XDR(External Data Representation)バイナリ形式で保存します。これにより、Windows、Linux、macOS 間のクロスプラットフォーム互換性が確保されます。
.rda ファイルを load() で読み込むと、保存されているすべてのオブジェクトが元の名前のまま現在の R 環境に直接復元されます。これは、1 つのオブジェクトのみを保持し、読み込み時に readRDS() を介して任意の名前を割り当てることができる .rds ファイルとは異なります。スクリプト間で単一のオブジェクトを共有する場合は通常 .rds が好まれますが、.rda は完全なワークスペースや関連するオブジェクトの名前付きコレクションを保存するのに便利です。
デフォルトでは、R は .rda ファイルを gzip で圧縮しますが、save() の compress= 引数を介して bzip2 や xz もサポートされています。ファイルヘッダーにはシリアル化形式のバージョンがエンコードされています。バージョン 2(R 1.4.0、2001年12月)は最も広く互換性があり、バージョン 3(R 3.5.0、2018年4月)はロングベクトルや ALTREP オブジェクトのサポートを追加していますが、読み取りには R 3.5.0 以降が必要です。R は終了時にワークスペースを .RData として保存するかどうかを自動的に確認します。
セキュリティと安全性
リスク: MEDIUMRDA ファイルには、シリアル化された関数/クロージャオブジェクトや環境を介して R コードが含まれる可能性があります。信頼できない .rda ファイルを読み込むと、シリアル化されたプロミスオブジェクトやアクティブバインディングを通じてコードが実行される恐れがあります。不明なソースからの load() は、任意の R コードを実行するのと同じリスクを伴います。信頼できるソースからの .rda ファイルのみを読み込んでください。
形式の詳細
概要- Oracle Storage Area ファイル - Oracle は一部の内部ストレージ領域記述子ファイルに .rda 拡張子を使用しますが、R とは全く無関係であり、実際には極めて稀です。
RDA ファイルを開くプログラム
load('file.rda') を実行します。オブジェクトは Environment ペインに表示されます。 load('file.rda') を実行します。オブジェクトは Environment ペインに表示されます。 load('file.rda') を実行します。オブジェクトは Environment ペインに表示されます。 技術的詳細
詳細仕様| ファイルタイプ | バイナリシリアル化された R オブジェクト(1 ファイルあたり 1 つ以上の名前付きオブジェクト) |
| MIME タイプ | application/octet-stream |
| マジックバイト | バイナリ XDR 形式の場合は 52 44 58 0A("RDX\n")、シリアル化バージョン 3 のヘッダーは "RDX3\n" |
| エンコーディング | XDR (External Data Representation) - ビッグエンディアン、クロスプラットフォームのバイナリ標準 |
| バイト順序 | ビッグエンディアン(XDR 仕様による規定) |
| 圧縮 | デフォルトは gzip。`save()` の `compress=` 引数により bzip2 および xz もサポート |
| 一般的なサイズ | 1 KB ~ 数 GB(保存されるオブジェクトに完全に依存) |
| ファイルあたりのオブジェクト数 | 複数の名前付きオブジェクト(1 ファイルにつき 1 つのオブジェクトのみを保持する .rds とは異なる) |
| 読み込み時の挙動 | `load()` はすべてのオブジェクトを元の名前で現在の R 環境に復元します。既存のオブジェクトを暗黙的に上書きする可能性があります。 |
| シリアル化バージョン | v2 (R ≥ 1.4.0, 2001年12月); v3 (R ≥ 3.5.0, 2018年4月); バージョンはファイルヘッダーにエンコード |
| 同等の拡張子 | .RData - 同一のバイナリ形式、異なる命名規則。R は終了時にワークスペースを .RData として保存 |
| OS サポート | Windows, Linux, macOS(XDR エンコーディングにより完全なクロスプラットフォーム対応) |
| 関連フォーマット | .rds - `saveRDS()`/`readRDS()` による単一オブジェクトのシリアル化。個別の R オブジェクトを共有する際に推奨 |
| リリース日 | 2001 (R serialization format version 2, introduced in R 1.4.0, December 2001) |
| 最新バージョン | Serialization format version 3 (R 3.5.0, April 2018) - adds support for long vectors and ALTREP objects |
| 仕様書 | cran.r-project.org |
RDA の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。RDA ファイルについて最初の質問をしてみましょう。
よくある質問
.rda ファイルを開くにはどうすればよいですか?
load('file.rda') を実行します。RStudio の場合:Environment ペインの «Import Dataset» を使用するか、コンソールに load() と入力します。オブジェクトは元の名前で環境に表示されます。.rda と .RData の違いは何ですか?
.RData は R がワークスペースを自動保存する際に使用する拡張子であり、.rda は明示的に保存された R データファイルに使用される慣習的な拡張子です。.rda と .rds の違いは何ですか?
.rda は複数の名前付きオブジェクトを保持します(save(obj1, obj2))。.rds は正確に 1 つのオブジェクトを保持します(saveRDS(obj))。.rds では、読み込み時に x <- readRDS('file.rds') のようにオブジェクトに名前を付けます。現代の R の慣習では、単一のオブジェクトを共有するには .rds が好まれます。Python で .rda ファイルを開くことはできますか?
import pyreadr; result = pyreadr.read_r('file.rda') とするか、R を直接呼び出す rpy2 を介して開くことができます。Excel で .rda ファイルを開くことはできますか?
write.csv() や writexl を使用して CSV または XLSX にエクスポートしてください。起動時に R が .RData を読み込んでセッションが壊れてしまいました。これを止めるには?
.Rprofile に usethis::use_blank_slate() を追加します。