RData Format
Description
RData (.rdata or .RData) is R's native binary format for saving multiple R objects. It's commonly used in R statistical computing to save workspace data, including data frames, vectors, lists, and other R objects. This implementation supports reading RData files and converting them to Python dictionaries.
File Extensions
.rdata- RData files.RData- RData files (case-sensitive variant).rda- RData files (alias)
Implementation Details
Reading
The RData implementation:
- Uses
pyreadrlibrary for reading - Reads RData files which can contain multiple R objects
- Converts data frames to pandas DataFrames, then to dictionaries
- When multiple objects are present, adds
_r_object_namemetadata field to identify the source object - Requires file path (not stream)
Writing
Writing is not currently supported for RData format.
Key Features
- Multiple objects: Can contain multiple R objects in a single file
- Statistical format: Designed for R statistical computing
- Totals support: Can count total rows across all objects
- Type preservation: Maintains data types from R
- Object identification: When multiple objects exist, adds metadata to identify source
Usage
from iterable import open_iterable
# List available R objects
from iterable.datatypes.rdata import RDataIterable
# Discover R objects before opening
objects = RDataIterable('data.rdata').list_tables('data.rdata')
print(f"Available R objects: {objects}") # e.g., ['df1', 'df2', 'vector1']
# Basic reading
source = open_iterable('data.rdata')
for row in source:
print(row)
source.close()
Parameters
No specific parameters required.
Limitations
- Read-only: RData format does not support writing
- pyreadr dependency: Requires
pyreadrpackage - File path required: Requires filename, not stream
- Flat data only: Only supports tabular data (data frames)
- Memory usage: Entire file is loaded into memory
- Multiple objects: When file contains multiple objects, they are flattened into a single stream
Compression Support
RData files can be compressed with all supported codecs:
- GZip (
.rdata.gz) - BZip2 (
.rdata.bz2) - LZMA (
.rdata.xz) - LZ4 (
.rdata.lz4) - ZIP (
.rdata.zip) - Brotli (
.rdata.br) - ZStandard (
.rdata.zst)
Use Cases
- Statistical analysis: Working with R data files
- Data migration: Converting R data to other formats
- Research data: Processing research datasets in R format
- Academic research: Common in academic research and data science
- R workspace files: Reading saved R workspace files