R workspace丢失近期数据,如何恢复或查看完整命令历史?
R workspace丢失及命令历史不全问题解决方案
尝试恢复丢失的workspace
- 先确认工作目录是否变动:R/RStudio启动时会加载默认工作目录的workspace,很多时候是启动路径变化导致没有加载到正确的项目文件。先运行
getwd()查看当前工作目录,再前往你项目存储的实际路径下查找后缀为.RData的文件,找到后直接双击打开,或执行load("你的项目路径/.RData")手动加载。 - 读取RStudio自动备份:RStudio默认会生成workspace的自动备份,进入项目目录下的
.Rproj.user文件夹,依次进入对应版本号的子目录、sdb子目录,找到后缀为.rdb/.rdx或命名含restore的.RData备份文件,执行load("备份文件的完整路径")尝试加载。 - 回溯系统文件版本:如果.RData文件被误删,先检查系统回收站,Windows开启过文件历史、Mac开启过时间机器的用户,可以直接回溯到你最后一次正常使用项目的时间点,恢复对应路径下的.RData文件即可。
提取完整命令历史的方法
你遇到的搜索可见但导出不全的问题,是因为R默认仅展示最近500行历史,全量历史存储在本地隐藏文件中,可通过以下方式提取:
- 读取全局历史文件:先运行
history(Inf)调出全量历史在界面展示,再执行savehistory(file = "完整命令历史.txt")即可导出所有记录。如果当前目录没有找到历史记录,去系统用户根目录(Windows为C:\Users\你的用户名,Mac为/Users/你的用户名)下找到隐藏的.Rhistory文件,复制到当前工作目录后重新执行上述命令即可。 - 读取RStudio专属历史库:如果上述方法仍取不到近期命令,进入项目目录下的
.Rproj.user文件夹,找到history_database文件,这是纯文本格式的全量命令存储文件,直接用文本编辑器打开即可获取所有运行过的命令,包括你搜索可见但无法导出的近期记录。
如果workspace最终无法恢复,拿到完整命令历史后,按顺序重新运行所有命令即可重新生成所有data frame、表格等数据对象,运行前注意确认所有外部读取文件的路径正确。
内容的提问来源于stack exchange,提问作者Heather Breidenbach
相关产品推荐
相关产品推荐

