使用.RData文件

时间:2011-01-20 04:11:41

标签: r

我意识到我覆盖了一个花了我一些时间来创建的.R文件。是否有可能在我的.RData中看到我运行的命令?我总是将我的文件保存为外部脚本,之前从未使用过.RData文件,所以我真的不知道该怎么做而且害怕永远丢失它。

4 个答案:

答案 0 :(得分:10)

您的目录中是否有名为“.Rhistory”的文件?该文件可能隐藏在Linux系统上。

阅读帮助页面?历史

答案 1 :(得分:10)

这不是你问题的直接答案,而是来自 The Pragmatic Programmer 的一些建议,它一次又一次地帮助我避免这样的情况:

  

始终使用源代码控制

如果一个进程值得记录.R文件中的步骤所花费的时间,那么它应该受到源代码控制系统的保护。这为您提供了许多重要的好处,其中两个是:

  • 您可以恢复或回放文件,以防止意外删除或修改,一小时后,看起来它们似乎不是一个好主意。

  • 您的工作已在一个或多个位置备份。最好是在不同的计算机上。

如果您以前从未使用过源代码控制,可以使用以下资源:

  • Git是一个很好的系统,具有分发的优势,使您的文件很难松散。 gitref.org是了解Git的一个重要场所,GitHub为非现场Git存储库提供了很好的托管服务。

  • Mercurial是另一个优秀的分布式系统。 Joel Spolsky是这个网站的共同创始人之一,他在hginit.com写了一篇优秀的指南。 Bitbucket是托管异地Mercurial存储库的好地方 - 如果您需要控制对工作的访问权限,它们甚至允许无限制的私有存储库。

学习源代码控制毫无疑问是我在编程工具中所做的最有价值的投资。当这种情况第一次出现时,它会自行支付。

答案 2 :(得分:2)

如果您使用的是GNU / Linux发行版,则很可能您的工作目录中已有备份。您所要做的就是使用:

    bash shell中的
  • ls -a | grep ~$

  • R:

    中的
  • dir(all.files = TRUE, pattern = "~$")

请注意,仅当您要搜索隐藏文件(以-a开头)时才需要all.files = TRUE.,否则您可以轻松省略它。

但是你应该使用Git或SVN或其他VCS,正如Sharpie已经建议的那样。我会推荐Git(主要是因为GitHub)。虽然这只是在你举办一个开源项目时才有用,否则你将不得不为GitHub服务付费(我想你想跳过那个,对吗?)

答案 3 :(得分:0)

我相信.RData与运行save.image()时获得的结果相同 - 它会保存您在键入ls()时看到的所有内容您可以通过将其拖入R控制台来恢复此操作或者通过运行命令load(".RData")