如何获取不需要其他文件来复制结果的.Rmd文件

问题描述 投票:0回答:1

我有一个 R Markdown 文件,MyMarkdown.Rmd。该文件中的代码块引用另一个文件 MyData.RData 中存在的数据帧和其他对象。我希望能够将 R Markdown 文件提供给另一个人,并且该人能够完全复制我的结果,并且我希望能够做到这一点,而无需包含 MyData.RData 文件。有办法做到这一点吗?

此外,MyData.Rdata 文件相当大,大小在 2GB-3GB 之间(如果这有什么区别的话)。该数据是全年每次使用服务时记录的全年数据,因此数据框中大约有 600 万个观察值。

目前我确实有加载 MyData.RData 文件的代码,因为它和 R Markdown 文件都存在于同一文件夹中,但必须有更好的方法来做到这一点。

```{r load MyData, include=FALSE}
load(MyData.RData)
r csv r-markdown rdata
1个回答
0
投票

是的,有一种更好的方法来处理这种情况,而无需将大型 MyData.RData 文件与 R Markdown 文件一起分发。一种方法是将数据直接保存为可以轻松访问和分发的不同格式,而无需原始 .RData 文件。您可以考虑以下几种替代方法:

  1. 将数据保存为 CSV 或其他格式:

    • 您可以将数据另存为 CSV 文件,而不是将数据保存为 .RData 格式,大多数数据分析工具都可以轻松读取该文件。
    • 您可以使用 R 中的
      write.csv()
      write.table()
      函数将数据框保存为 CSV 文件。这样,您就可以在 R Markdown 文件中包含直接从 CSV 文件读取数据的代码。
  2. 在 R 脚本中保存数据:

    • 另一种选择是将数据加载代码保存在单独的 R 脚本中。该脚本可以包含将数据从原始源加载到 R 环境中所需的代码。
    • 然后您可以将此脚本与 R Markdown 文件一起提供。运行 R Markdown 文件的人只需要运行此脚本即可将所需的数据加载到他们的 R 环境中。
  3. 使用数据 API 或在线资源:

    • 如果您的数据源是公开可用的,或者您可以创建 API 来访问它,则可以直接从这些源加载数据到 R Markdown 文件中。
    • 这样,运行 R Markdown 文件的人将在执行代码时直接从源获取数据。
  4. 使用智能进行数据生成:

    • 如果主要目的是演示分析而不是处理特定的真实数据,您可以在 R Markdown 文档中生成合成或模拟数据。
    • 这样,运行文档的人就可以使用生成的数据复制结果。
  5. 使用微小数据子集进行演示:

    • 您可以对涵盖分析关键方面的一小部分数据进行子集化,而不是共享整个数据集。这个较小的数据集可以更轻松地分发和使用。

通过采用这些策略之一,您可以使您的 R Markdown 文件更加可移植并且独立于大型原始数据文件。每种方法都有其优缺点,因此请选择最适合您要求的一种。

© www.soinside.com 2019 - 2024. All rights reserved.