O que é o formato de ficheiro RDS?
Um arquivo .rds é um arquivo de Serialização de Dados R produzido pela função saveRDS() do R. Ele armazena exatamente um objeto R - um data frame, lista, modelo, vetor ou qualquer outra estrutura do R - no formato de serialização binário nativo do R. Ao contrário dos arquivos .RData criados por save(), que restauram objetos nomeados diretamente no ambiente global, os arquivos .rds são carregados com readRDS() e retornados como um valor que o chamador pode atribuir a qualquer nome de variável.
Por padrão, os dados serializados são envolvidos em compressão gzip, portanto, a maioria dos arquivos .rds abre como fluxos gzip se não forem manipulados como objetos R (magic bytes 1F 8B). A compressão também pode ser definida como bzip2, xz ou desativada inteiramente com saveRDS(obj, file, compress = FALSE).
O R suporta duas versões de formato de serialização: versão 2 (R 1.4-3.4, padrão antes do R 3.5.0) e versão 3 (padrão desde o R 3.5.0, lançado em abril de 2018), que adiciona metadados de codificação explícitos para strings de caracteres - importante para textos não-ASCII. Os tamanhos dos arquivos variam de alguns kilobytes para vetores pequenos a vários gigabytes para grandes data frames ou modelos complexos.
Arquivos .rds são a unidade padrão de persistência de objetos R: analistas os utilizam para armazenar resultados intermediários em cache, compartilhar objetos de modelos treinados e armazenar dados processados entre sessões. Para dados colunares interoperáveis compartilhados entre ferramentas, formatos como .parquet são cada vez mais preferidos; o .rds continua sendo a escolha ideal sempre que o consumidor for sempre o R.
Segurança e proteção
RISCO: MEDIUMArquivos RDS podem incorporar código R arbitrário via closures, métodos S4 ou ambientes de classe R5/R6. readRDS() avalia promises e active bindings ao acessar. Não abra arquivos .rds de fontes não confiáveis no R, pois objetos maliciosamente criados podem executar código durante a desserialização. A equipe principal do R observou esse risco na documentação.
Detalhes do formato
em resumo- Ray Dream Studio Scene File - Formato legado de animação 3D dos anos 90 da Ray Dream Inc. / MetaCreations (posteriormente Carrara/DAZ); binário com mágica «RD » (0x33 0x44 0x43 0x20 em hex «3DC »); o software foi abandonado, arquivos ilegíveis por ferramentas modernas.
Programas que abrem arquivos RDS
Detalhes técnicos
especificação profunda| Codificação | Binário (comprimido com gzip por padrão); variantes bzip2, xz ou não comprimidas também são suportadas |
| Objetos armazenados | Exatamente um objeto R por arquivo - qualquer tipo SEXP: vetor, lista, data.frame, modelo, referência de ambiente, etc. |
| Versão do formato de serialização | Versão 2 (R 1.4-3.4) ou versão 3 (R 3.5+, padrão desde 2018); número da versão armazenado no cabeçalho do fluxo |
| Compressão padrão | gzip (compress=TRUE); alternativas: bzip2, xz ou nenhuma (compress=FALSE) |
| Magic bytes | 1F 8B (cabeçalho gzip, comprimido); 58 0A (XDR não comprimido); 41 0A (ASCII não comprimido) |
| Ordem dos bytes | Big-endian XDR (External Data Representation) para o fluxo de serialização bruto; o invólucro de compressão é independente de plataforma |
| Escopo de serialização | Objeto R único (em contraste com .RData, que armazena um ou mais objetos nomeados restaurados no ambiente de chamada) |
| Metadados de codificação de caracteres | O formato da Versão 3 incorpora metadados de codificação explícitos para strings de caracteres, permitindo o tratamento correto de conteúdo não-ASCII |
| Tamanho de arquivo típico | Alguns KB (vetores pequenos) a vários GB (grandes data frames, modelos de aprendizado de máquina treinados) |
| Funções de leitura/escrita | readRDS() retorna o objeto como um valor; saveRDS() o escreve - o chamador atribui qualquer nome de variável ao carregar |
| Compatibilidade de plataforma | Multiplataforma; Windows, Linux e macOS produzem fluxos de serialização idênticos |
| Verificação de compressão | Inspecione os magic bytes com um editor hexadecimal; ou use as funções de conexão gzcon() / file() do R para confirmar o invólucro gzip |
| Lançado | 2001 (R 1.4.0, saveRDS/readRDS introduced) |
| Versão mais recente | Serialization format version 3 (R 3.5.0, 2018) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | stat.ethz.ch |
Conversões de RDS
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos RDS.