¿Qué es el formato de archivo RDS?
Un archivo .rds es un archivo de serialización de datos de R producido por la función saveRDS() de R. Almacena exactamente un objeto de R -un marco de datos, lista, modelo, vector o cualquier otra estructura de R- en el formato de serialización binario nativo de R. A diferencia de los archivos .RData creados por save(), que restauran objetos con nombre directamente en el entorno global, los archivos .rds se cargan con readRDS() y se devuelven como un valor que el invocador puede asignar a cualquier nombre de variable.
Por defecto, los datos serializados están envueltos en compresión gzip, por lo que la mayoría de los archivos .rds se abren como flujos gzip si no se manejan como objetos de R (bytes mágicos 1F 8B). La compresión también se puede configurar como bzip2, xz, o desactivarse por completo con saveRDS(obj, file, compress = FALSE).
R admite dos versiones de formato de serialización: la versión 2 (R 1.4-3.4, predeterminada antes de R 3.5.0) y la versión 3 (predeterminada desde R 3.5.0, lanzada en abril de 2018), que añade metadatos de codificación explícitos para cadenas de caracteres, algo importante para texto que no sea ASCII. Los tamaños de archivo varían desde unos pocos kilobytes para vectores pequeños hasta varios gigabytes para marcos de datos grandes o modelos complejos.
Los archivos .rds son la unidad estándar de persistencia de objetos en R: los analistas los usan para almacenar en caché resultados intermedios, compartir objetos de modelos entrenados y guardar datos procesados entre sesiones. Para datos de columnas interoperables compartidos entre herramientas, se prefieren cada vez más formatos como .parquet; .rds sigue siendo la opción predilecta siempre que el consumidor sea siempre R.
Seguridad y protección
RIESGO: MEDIUMLos archivos RDS pueden incrustar código R arbitrario a través de clausuras, métodos S4 o entornos de clase R5/R6. readRDS() evalúa promesas y enlaces activos al acceder. No abra archivos .rds de fuentes no confiables en R, ya que los objetos creados maliciosamente podrían ejecutar código durante la deserialización. El equipo central de R ha señalado este riesgo en la documentación.
Detalles del formato
en pocas palabras- Archivo de escena de Ray Dream Studio - Formato de animación 3D heredado de la década de 1990 de Ray Dream Inc. / MetaCreations (más tarde Carrara/DAZ); binario con magia 'RD ' (0x33 0x44 0x43 0x20 en hexadecimal '3DC '); el software está abandonado, los archivos son ilegibles para las herramientas modernas.
Programas que abren archivos RDS
Detalles técnicos
especificación profunda| Codificación | Binario (comprimido con gzip por defecto); también se admiten variantes bzip2, xz o sin comprimir |
| Objetos almacenados | Exactamente un objeto R por archivo - cualquier tipo SEXP: vector, lista, data.frame, modelo, referencia de entorno, etc. |
| Versión del formato de serialización | Versión 2 (R 1.4-3.4) o versión 3 (R 3.5+, predeterminada desde 2018); el número de versión se almacena en el encabezado del flujo |
| Compresión predeterminada | gzip (compress=TRUE); alternativas: bzip2, xz, o ninguna (compress=FALSE) |
| Bytes mágicos | 1F 8B (encabezado gzip, comprimido); 58 0A (XDR sin comprimir); 41 0A (ASCII sin comprimir) |
| Orden de bytes | Big-endian XDR (External Data Representation) para el flujo de serialización sin procesar; el envoltorio de compresión es independiente de la plataforma |
| Alcance de la serialización | Un solo objeto R (a diferencia de .RData, que almacena uno o más objetos con nombre restaurados en el entorno de llamada) |
| Metadatos de codificación de caracteres | El formato de la versión 3 incorpora metadatos de codificación explícitos para cadenas de caracteres, lo que permite el manejo correcto de contenido no ASCII |
| Tamaño de archivo típico | Desde unos pocos KB (vectores pequeños) hasta varios GB (marcos de datos grandes, modelos de aprendizaje automático entrenados) |
| Funciones de lectura/escritura | readRDS() devuelve el objeto como un valor; saveRDS() lo escribe - el usuario asigna cualquier nombre de variable al cargar |
| Compatibilidad de plataforma | Multiplataforma; Windows, Linux y macOS producen flujos de serialización idénticos |
| Verificación de compresión | Inspeccione los bytes mágicos con un editor hexadecimal; o use las funciones de conexión gzcon() / file() de R para confirmar el envoltorio gzip |
| Lanzado | 2001 (R 1.4.0, saveRDS/readRDS introduced) |
| Última versión | Serialization format version 3 (R 3.5.0, 2018) |
| Estándar abierto | Sí · libre de regalías |
| Especificación | stat.ethz.ch |
Conversiones de RDS
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos RDS.