【问题标题】:Why .RData when .R is sufficient [closed]当.R足够时为什么.RData[关闭]
【发布时间】:2018-02-05 15:24:45
【问题描述】:

说,如果我们可以从.R 文件中保存和加载完全相同的数据,那么为什么需要.RData。我试图从[R] foo.RData or foo.r? 中找出一些解释。所以,我偶然发现了几个问题:

  • .RData 保存 只有最终结果 还是完整的代码只是 .R 脚本?
  • 它们的确切相关性是什么?什么时候更喜欢哪一个?

【问题讨论】:

  • .RData 应该保存数据结构(从内存中),其中.R 有脚本或声明。我错了吗?
  • @zx8754 我已经浏览过这篇文章,这里没有谈论.RData.R 的相关/不同之处。
  • 太好了,刚刚提到了其他读者提供有关 RData 的更多信息的链接...无论如何,您是在比较苹果和橙子。
  • .RData 及其亲属是您从 R 会话保存到此文件的对象的二进制表示。它可以与 .R 相关,但不一定,即某些 .R 脚本可以生成 .RData 文件。但它们也可以“手工”制作而无需任何脚本。只是苹果和橘子。

标签: r


【解决方案1】:

RData 保存对象,而不是脚本——如果你加载它,你就是在你的环境中加载对象。它不包含用于生成这些元素的代码。

.R 是一个没有任何对象的脚本——如果你打开它,你会看到代码,你需要source 来获取.R 生成的对象。

我建议以这种方式使用它们

  • .R : 存储用于创建对象的函数和脚本(为了重现性,例如在包中的 /data-raw 中)
  • 使用.RData 存储您以后需要的对象

这基本上是一个包的工作方式:一个包含函数的 /R 文件夹,以及一个包含包所需数据对象的 /data 文件夹。

【讨论】:

  • 那么他们两个互相赞美吗?
  • @Vivek 是的。总结一下:一个是保存对象(.RData),另一个是保存代码(.R)。
  • 我想你可以使用任何你想要的结局,但提到的一个是最常见的。 .RData 文件将 load() 加入您的 R 会话,.R 文件将 source() 加入您的会话。
【解决方案2】:

在 .R 文件中您可以保存 R 代码,在 .RData 文件中您可以保存来自 R 的数据结构,例如向量、矩阵、数据框或线性模型。

【讨论】:

    猜你喜欢
    • 2017-05-26
    • 2016-07-28
    • 1970-01-01
    • 2021-09-14
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    相关资源
    最近更新 更多