Hvad er RDATA-filformatet?
.rdata (også skrevet .RData) er det indfødte arbejdsområdeformat, der bruges af R-miljøet til statistiske beregninger til at gemme og gendanne flere objekter i hukommelsen på én gang. Ved at kalde save() eller save.image() i R serialiseres et vilkårligt antal navngivne objekter - vektorer, data frames, lister, funktioner og miljøer - til en enkelt binær fil, som load() derefter gendanner direkte i det kaldende miljø under deres oprindelige navne.
Filen er bygget på R's interne serialiseringsprotokol. Ukomprimerede filer begynder med ASCII-headeren RDX3 (eller den ældre RDX2) efterfulgt af en XDR-kodet binær payload. I praksis komprimerer R som standard payloaden med gzip, så de fleste .rdata-filer starter med gzip-magiske bytes 1F 8B snarere end den rå serialiseringsheader. Bzip2- og xz-komprimering understøttes også.
To versioner af serialiseringsformatet er i almindelig brug:
- Version 2 - standard før R 3.5.0; bredt kompatibel med ældre R-installationer.
- Version 3 - standard siden R 3.5.0; tilføjer indfødt metadata for tegnkodning og kan ikke læses af tidligere R-udgivelser.
Det tæt beslægtede .rds format adskiller sig på ét væsentligt punkt: det gemmer et enkelt R-objekt frem for en navngiven samling, og indlæses med readRDS(), så brugeren kan tildele det et vilkårligt navn. Til deling af data uden for R foretrækkes ofte tekstbaserede formater som CSV eller JSON.
Sikkerhed og tryghed
RISIKO: MEDIUM.RData-filer er data, men indlæsning af en sådan er ikke helt passiv: en .RData kan indeholde R-objekter såsom funktioner, formler eller promises, og gendannelse af et ondsindet arbejdsområde kan i visse tilfælde udløse kodeeksekvering (og load() overskriver lydløst objekter med samme navn i dit miljø). Indlæs kun .RData-filer fra kilder, du har tillid til, på samme måde som du ville behandle enhver fil, der kan indeholde eksekverbar kode. Filer er ikke krypterede, så antag ikke privatliv. Ellers er der ingen malware-risiko i almindelige datasæt.
Formatdetaljer
kort fortaltProgrammer der åbner RDATA-filer
Tekniske detaljer
dyb specifikation| Formattype | Binære serialiserede R-objekter; en ASCII-serialiseringstilstand findes også |
| Byte-rækkefølge | Big-endian (XDR-netværksbyte-rækkefølge) |
| Standardkomprimering | gzip; bzip2 og xz er valgfrie alternativer; ukomprimeret tilstand er tilgængelig |
| Magiske bytes (ukomprimeret v3) | 52 44 58 33 0A (ASCII «RDX3\n»); v2-filer bruger 52 44 58 32 0A («RDX2\n») |
| Magiske bytes (komprimeret) | 1F 8B ved gzip-komprimering (standard); 42 5A 68 for bzip2; FD 37 7A 58 5A for xz |
| Objekt-multiplicitet | Gemmer flere navngivne R-objekter pr. fil (vektorer, data frames, lister, funktioner, miljøer) |
| Indlæsningskommando | `load()` - gendanner alle gemte objekter i det kaldende miljø under deres oprindelige navne |
| Gem-kommandoer | `save()` for valgte objekter; `save.image()` for at fange hele det nuværende arbejdsområde |
| Serialiseringsversioner | v2 (før R 3.5.0) og v3 (R ≥ 3.5.0); v3 indlejrer indfødt metadata for tegnkodning; v3-filer kræver R 3.5.0 eller nyere |
| MIME-type | application/octet-stream (generisk); uofficiel: application/x-r-data |
| Kryptering | Ingen indbygget; følsomme arbejdsområder skal beskyttes på operativsystem- eller containerniveau |
| Integritetskontrol | Ingen iboende tjeksum; komprimeringslaget kan detektere bit-fejl, men der er ingen hash pr. objekt |
| Platformunderstøttelse | Cross-platform: Windows, macOS, Linux - ethvert system, der kører R |
| Typisk filstørrelse | Fra få KB til adskillige GB, afhængigt af størrelsen og antallet af gemte objekter |
| Beslægtet enkelt-objekt format | `.rds` gemmer præcis ét R-objekt; indlæses med `readRDS()` og kan omdøbes frit ved tildeling |
| Pakke-lazy-load database | `.rdx` (indeks) og `.rdb` (data) filer danner tilsammen den lazy-load database, der bruges i R-pakker, og deler det samme serialiseringslag |
| Udgivet | 1990s (with R; serialization format predates R 1.0, 2000) |
| Seneste version | R serialization format version 3 (default since R 3.5.0, 2018) |
| Åben standard | Ja · royaltyfri |
| Specifikation | cran.r-project.org |
RDATA-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om RDATA-filer.