You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中加载sample.RData文件?magic number报错如何解决

R加载旧格式.RData文件报错解决方案

Error in load("sample.RData") : bad restore file magic number (file may be corrupted) -- no data loaded In addition: Warning message: file ‘sample.RData’ has magic number 'RDX3' Use of save versions prior to 2 is deprecated

该报错核心原因是当前使用的R版本不兼容:你要加载的sample.RData是R 2.0.0之前的版本生成的旧格式存储文件,新版R已经废弃了对早于version 2的save格式的支持。可按以下优先级尝试解决方案:

前置排查

首先确认文件是否为误改名的RDS格式文件,尝试执行读取命令:

readRDS("sample.RData")

如果命令执行成功,说明是RDS文件被错误修改后缀为RData,读取后重新用save()存储为标准RData格式即可。

方案1:旧版R中转(兼容性最佳)

  • 下载安装R 1.9.x系列版本,该版本原生支持RDX3格式的RData文件
  • 打开R 1.9.x,执行读取命令:load("sample.RData")
  • 读取成功后重新保存为兼容新版R的格式:
save(list = ls(all = TRUE), file = "sample_new.RData", version = 2)
  • 回到当前使用的新版R中,直接读取新生成的文件即可:load("sample_new.RData")

方案2:Python pyreadr库中转(无需安装旧版R)

  • 安装pyreadr依赖:pip install pyreadr
  • 执行Python代码读取文件并导出为通用csv格式:
import pyreadr
# 读取RData文件
result = pyreadr.read_r("sample.RData")
# 打印所有读取到的对象名称
print(result.keys())
# 替换为你需要导出的对象名,导出为csv
df = result["替换为实际对象名"]
df.to_csv("sample_export.csv", index = False, encoding = "utf-8")
  • 回到R中读取导出的csv文件即可:read.csv("sample_export.csv")

注意事项

  • 操作前务必先备份原始sample.RData文件,避免误操作覆盖损坏原始数据
  • 不要尝试直接用save()替代load()读取文件,save()为数据写入函数,无法实现读取功能,操作不当还会直接覆盖原始文件
  • 所有方案都执行失败的情况下,可判定原始文件本身已损坏,无法恢复

内容的提问来源于stack exchange,提问作者Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 17:36:03