Che cos'è il formato di file RDS?
Un file .rds è un file di serializzazione dati R prodotto dalla funzione saveRDS() di R. Memorizza esattamente un oggetto R - un data frame, una lista, un modello, un vettore o qualsiasi altra struttura di R - nel formato di serializzazione binario nativo di R. A differenza dei file .RData creati da save(), che ripristinano gli oggetti con il loro nome direttamente nell'ambiente globale, i file .rds vengono caricati con readRDS() e restituiti come un valore che l'utente può assegnare a qualsiasi nome di variabile.
Per impostazione predefinita, i dati serializzati sono racchiusi in una compressione gzip, quindi la maggior parte dei file .rds si apre come flussi gzip se non gestiti come oggetti R (magic bytes 1F 8B). La compressione può anche essere impostata su bzip2, xz o disabilitata del tutto con saveRDS(obj, file, compress = FALSE).
R supporta due versioni del formato di serializzazione: la versione 2 (R 1.4-3.4, predefinita prima di R 3.5.0) e la versione 3 (predefinita da R 3.5.0, rilasciata ad aprile 2018), che aggiunge metadati di codifica espliciti per le stringhe di caratteri - importante per il testo non ASCII. Le dimensioni dei file variano da pochi kilobyte per piccoli vettori a diversi gigabyte per grandi data frame o modelli complessi.
I file .rds sono l'unità standard di persistenza degli oggetti R: gli analisti li usano per memorizzare nella cache i risultati intermedi, condividere oggetti modello addestrati e archiviare dati elaborati tra le sessioni. Per i dati colonnari interoperabili condivisi tra diversi strumenti, formati come .parquet sono sempre più preferiti; .rds rimane la scelta principale quando il consumatore finale è sempre R.
Sicurezza e incolumità
RISCHIO: MEDIUMI file RDS possono incorporare codice R arbitrario tramite closure, metodi S4 o ambienti di classe R5/R6. readRDS() valuta promise e binding attivi all'accesso. Non aprire file .rds da fonti non attendibili in R, poiché oggetti creati maliziosamente potrebbero eseguire codice durante la deserializzazione. Il team core di R ha segnalato questo rischio nella documentazione.
Dettagli del formato
in sintesi- Ray Dream Studio Scene File - Formato di animazione 3D legacy degli anni '90 di Ray Dream Inc. / MetaCreations (successivamente Carrara/DAZ); binario con magic «RD » (0x33 0x44 0x43 0x20 in esadecimale «3DC »); il software è abbandonato, i file non sono leggibili dagli strumenti moderni.
Programmi che aprono file RDS
Dettagli tecnici
specifiche approfondite| Codifica | Binario (compresso con gzip per impostazione predefinita); supportate anche varianti bzip2, xz o non compresse |
| Oggetti memorizzati | Esattamente un oggetto R per file - qualsiasi tipo SEXP: vettore, lista, data.frame, modello, riferimento all'ambiente, ecc. |
| Versione formato serializzazione | Versione 2 (R 1.4-3.4) o versione 3 (R 3.5+, predefinita dal 2018); numero di versione memorizzato nell'intestazione del flusso |
| Compressione predefinita | gzip (compress=TRUE); alternative: bzip2, xz, o nessuna (compress=FALSE) |
| Magic bytes | 1F 8B (intestazione gzip, compresso); 58 0A (XDR non compresso); 41 0A (ASCII non compresso) |
| Ordine dei byte | Big-endian XDR (External Data Representation) per il flusso di serializzazione grezzo; il wrapper di compressione è indipendente dalla piattaforma |
| Ambito di serializzazione | Singolo oggetto R (a differenza di .RData che memorizza uno o più oggetti con nome ripristinati nell'ambiente chiamante) |
| Metadati codifica caratteri | Il formato versione 3 incorpora metadati di codifica espliciti per le stringhe di caratteri, consentendo la gestione corretta dei contenuti non ASCII |
| Dimensione tipica del file | Da pochi KB (piccoli vettori) a diversi GB (grandi data frame, modelli di machine learning addestrati) |
| Funzioni di lettura/scrittura | readRDS() restituisce l'oggetto come valore; saveRDS() lo scrive - l'utente assegna qualsiasi nome di variabile al caricamento |
| Compatibilità piattaforma | Multipiattaforma; Windows, Linux e macOS producono flussi di serializzazione identici |
| Verifica compressione | Ispezionare i magic bytes con un editor esadecimale; oppure utilizzare le funzioni di connessione gzcon() / file() di R per confermare l'incapsulamento gzip |
| Rilasciato | 2001 (R 1.4.0, saveRDS/readRDS introduced) |
| Ultima versione | Serialization format version 3 (R 3.5.0, 2018) |
| Standard aperto | Sì · royalty-free |
| Specifica | stat.ethz.ch |
Conversioni RDS
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file RDS.