Was ist das RDATA-Dateiformat?
.rdata (auch als .RData geschrieben) ist das native Workspace-Format, das von der R-Umgebung für statistische Berechnungen verwendet wird, um mehrere im Speicher befindliche Objekte gleichzeitig zu speichern und wiederherzustellen. Durch den Aufruf von save() oder save.image() in R wird eine beliebige Anzahl benannter Objekte - Vektoren, Dataframes, Listen, Funktionen und Umgebungen - in eine einzige Binärdatei serialisiert, die load() dann direkt unter ihren ursprünglichen Namen in die aufrufende Umgebung wiederherstellt.
Die Datei basiert auf dem internen Serialisierungsprotokoll von R. Unkomprimierte Dateien beginnen mit dem ASCII-Header RDX3 (oder dem älteren RDX2), gefolgt von einer XDR-kodierten binären Nutzlast. In der Praxis komprimiert R die Nutzlast standardmäßig mit gzip, sodass die meisten .rdata-Dateien mit den gzip-Magic-Bytes 1F 8B beginnen und nicht mit dem rohen Serialisierungs-Header. Bzip2- und xz-Komprimierung werden ebenfalls unterstützt.
Zwei Versionen des Serialisierungsformats sind gebräuchlich:
- Version 2 - Standard vor R 3.5.0; weitgehend kompatibel mit älteren R-Installationen.
- Version 3 - Standard seit R 3.5.0; fügt native Metadaten zur Zeichenkodierung hinzu und kann von früheren R-Versionen nicht gelesen werden.
Das eng verwandte .rds-Format unterscheidet sich in einem wesentlichen Punkt: Es speichert ein einzelnes R-Objekt anstelle einer benannten Sammlung und wird mit readRDS() geladen, sodass der Aufrufer ihm einen beliebigen Namen zuweisen kann. Für den portablen Datenaustausch außerhalb von R werden oft textbasierte Formate wie CSV oder JSON bevorzugt.
Sicherheit
RISIKO: MEDIUM.RData-Dateien sind Daten, aber das Laden ist nicht völlig passiv: Eine .RData-Datei kann R-Objekte wie Funktionen, Formeln oder Promises enthalten, und das Wiederherstellen eines bösartigen Arbeitsbereichs kann in manchen Fällen die Ausführung von Code auslösen (zudem überschreibt load() stillschweigend Objekte gleichen Namens in Ihrer Umgebung). Laden Sie .RData-Dateien nur aus Quellen, denen Sie vertrauen, so wie Sie jede Datei behandeln würden, die ausführbaren Code enthalten könnte. Dateien sind nicht verschlüsselt, gehen Sie also nicht von Privatsphäre aus. Ansonsten besteht bei gewöhnlichen Datensätzen kein Malware-Risiko.
Formatdetails
kurz gefasstProgramme zum Öffnen von RDATA-Dateien
Technische Details
technische Spezifikation| Formattyp | Binär serialisierte R-Objekte; ein ASCII-Serialisierungsmodus existiert ebenfalls |
| Byte-Reihenfolge | Big-endian (XDR-Netzwerk-Byte-Reihenfolge) |
| Standardkomprimierung | gzip; bzip2 und xz sind optionale Alternativen; unkomprimierter Modus ist verfügbar |
| Magic Bytes (unkomprimiert v3) | 52 44 58 33 0A (ASCII „RDX3\n“); v2-Dateien verwenden 52 44 58 32 0A („RDX2\n“) |
| Magic Bytes (komprimiert) | 1F 8B bei gzip-Komprimierung (Standard); 42 5A 68 für bzip2; FD 37 7A 58 5A für xz |
| Objekt-Multiplizität | Speichert mehrere benannte R-Objekte pro Datei (Vektoren, Dataframes, Listen, Funktionen, Umgebungen) |
| Ladebefehl | `load()` - stellt alle gespeicherten Objekte unter ihren ursprünglichen Namen in die aufrufende Umgebung wieder her |
| Speicherbefehle | `save()` für ausgewählte Objekte; `save.image()` um den gesamten aktuellen Arbeitsbereich zu erfassen |
| Serialisierungsversionen | v2 (vor R 3.5.0) und v3 (R ≥ 3.5.0); v3 bettet native Metadaten zur Zeichenkodierung ein; v3-Dateien erfordern R 3.5.0 oder neuer |
| MIME-Typ | application/octet-stream (generisch); inoffiziell: application/x-r-data |
| Verschlüsselung | Keine integriert; sensible Arbeitsbereiche müssen auf Betriebssystem- oder Container-Ebene geschützt werden |
| Integritätsprüfung | Keine intrinsische Prüfsumme; der Komprimierungs-Wrapper kann Bitfäule erkennen, aber es gibt keinen Hash pro Objekt |
| Plattformunterstützung | Plattformübergreifend: Windows, macOS, Linux - jedes System, auf dem R läuft |
| Typische Dateigröße | Einige KB bis mehrere GB, abhängig von Größe und Anzahl der gespeicherten Objekte |
| Verwandtes Einzelobjekt-Format | `.rds` speichert genau ein R-Objekt; wird mit `readRDS()` geladen und kann bei der Zuweisung frei umbenannt werden |
| Paket-Lazy-Load-Datenbank | `.rdx` (Index) und `.rdb` (Daten) Dateien bilden zusammen die Lazy-Load-Datenbank, die in R-Paketen verwendet wird und dieselbe Serialisierungsschicht nutzt |
| Veröffentlicht | 1990s (with R; serialization format predates R 1.0, 2000) |
| Neueste Version | R serialization format version 3 (default since R 3.5.0, 2018) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | cran.r-project.org |
RDATA-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu RDATA-Dateien.