我意识到我覆盖了一个花费我一些时间创建的.R文件。在我的.RData中,是否可以看到我运行的命令?我总是将我的文件保存为外部脚本,以前从未使用过.RData文件,所以我不知道该怎么办,担心永远失去这个文件。
我意识到我覆盖了一个花费我一些时间创建的.R文件。在我的.RData中,是否可以看到我运行的命令?我总是将我的文件保存为外部脚本,以前从未使用过.RData文件,所以我不知道该怎么办,担心永远失去这个文件。
这并不是对你问题的直接回答,而是来自The Pragmatic Programmer的一些建议,这些建议在避免类似情况时多次帮助了我:
始终使用源代码控制
如果一个过程值得记录在一个.R
文件中,则应该受到源代码控制系统的保护。这为您提供了许多重要的好处,其中两个是:
您可以恢复或回滚您的文件,这提供了防止意外删除或修改的保护,在一小时后,这些修改开始看起来似乎并不是那么明智。
您的工作在一个或多个位置备份。最好在不同的计算机上备份。
如果您以前从未使用过源代码控制,请参考以下资源:
Git是一个很棒的系统,具有分布式的优点,使您的文件非常难丢失。gitref.org是学习Git的好地方,GitHub为离线Git存储库提供了出色的托管服务。
Mercurial是另一个很好的分布式系统。Joel Spolsky,这个网站的联合创始人之一, 在hginit.com上写了一份出色的指南。Bitbucket是离线Mercurial存储库的绝佳托管服务,甚至允许您无限制地创建私有仓库以控制对您的工作的访问。
学习源代码控制无疑是我在编程工具方面所做过的最有价值的投资。当第一次遇到类似情况时,它将为你带来回报。
ls -a | grep ~$
dir(all.files = TRUE, pattern = "~$")
-a
和all.files = TRUE
参数,否则可以轻松省略它们。我相信 .RData 文件是你运行 save.image()
命令所得到的结果 - 它会保存你在输入 ls()
命令时看到的所有内容。你可以通过将其拖入 R 控制台或者运行命令 load(".RData")
来恢复这些内容。
history(max.show = Inf)
但是它不够远,因为它比一天短。 - djq