RDS (objet R sérialisé) : fichier .rds
stableSérialisation d'un objet R unique sur disque, compressée en gzip par défaut, à ne pas confondre avec le code source .R du même langage.
Le RDS sérialise un unique objet du langage R (un vecteur, une liste, un data frame, un modèle statistique ajusté) dans un fichier que la fonction readRDS() recharge ensuite en mémoire dans son état exact d’origine, sans passer par une ré-exécution du code qui l’a produit.
Par défaut, saveRDS() compresse le résultat en gzip, ce qui donne au fichier la signature binaire standard d’un flux gzip (1F 8B 08), identique à celle de n’importe quel fichier .gz. Cette compression peut être explicitement désactivée (compress = FALSE) pour accélérer l’écriture sur de très gros objets, au prix d’un fichier nettement plus volumineux et dépourvu de cette signature.
Le RDS ne doit pas être confondu avec le fichier de code source .R du même langage : l’un contient des instructions à exécuter, l’autre un objet déjà calculé et prêt à recharger tel quel. Cette distinction prête régulièrement à confusion chez qui découvre l’écosystème R, les deux extensions se ressemblant et appartenant au même langage sans rien partager de leur contenu.
Contrairement au fichier .RData, qui peut sauvegarder l’intégralité des objets présents dans une session de travail R en une seule fois, le RDS se limite volontairement à un seul objet par fichier, une contrainte qui en fait un choix plus prévisible pour partager ou archiver un résultat précis (un modèle entraîné, un jeu de données nettoyé) sans emporter tout l’environnement de travail qui l’a produit.
Cette sérialisation reste propre à la représentation interne des objets R : contrairement à des formats d’échange neutres comme JSON ou Parquet, un RDS n’est pas conçu pour l’interopérabilité entre langages différents, mais pour la persistance rapide et fidèle d’un objet R destiné à être rechargé par R lui-même.
Signature binaire
| Hexadécimal | Offset |
|---|---|
1F 8B 08 | 0 |
Vérifier qu'un fichier porte bien cette signature →
Questions fréquentes
Comment ouvrir un fichier .rds ?
R (fonction readRDS intégrée) permet d'ouvrir gratuitement un fichier .rds. Voir la liste complète des logiciels compatibles ci-contre.
Quel est le type MIME du format RDS (objet R sérialisé) ?
Le type MIME du format RDS (objet R sérialisé) est application/octet-stream.
Le format RDS (objet R sérialisé) (.rds) est-il encore utilisé aujourd'hui ?
Oui, le format RDS (objet R sérialisé) est stable et toujours largement utilisé, sans signe de déclin.
Peut-on ouvrir un fichier .rds sur mobile, sans installer d'application ?
Aucun outil web n'est référencé sur cette fiche pour ce format : l'ouverture nécessite un logiciel de bureau (voir la liste « Avec quoi l'ouvrir » ci-contre).
Pourquoi un fichier .rds ne présente-t-il pas la signature gzip attendue ?
La fonction saveRDS() compresse en gzip par défaut, d'où la signature `1F 8B 08` habituelle, mais ce comportement peut être désactivé explicitement (`compress = FALSE`) pour accélérer l'écriture au prix d'un fichier plus volumineux : dans ce cas, le fichier contient directement les données sérialisées sans compression, sans cette signature en tête.
Un fichier RDS peut-il s'ouvrir avec un autre langage que R ?
Difficilement de façon native : le format sérialise la représentation interne d'un objet R (vecteurs, data frames, listes, facteurs) selon une structure propre au moteur R. Quelques bibliothèques tierces dans d'autres langages (Python, via pyreadr par exemple) savent lire certains types d'objets RDS courants, sans couvrir l'ensemble des types d'objets R possibles.
Un fichier ne s'ouvre pas : les causes possibles →
Comment savoir si un fichier est corrompu →
Sources
Dernière mise à jour :