组织 R 代码和输出的有效方法是什么?

机器算法验证 r 项目管理
2022-01-18 19:34:47

我正在寻找有关其他人如何组织他们的 R 代码和输出的输入。

我目前的做法是在文本文件中以块的形式编写代码,如下所示:

#=================================================
# 19 May 2011
date()
# Correlation analysis of variables in sed summary
load("/media/working/working_files/R_working/sed_OM_survey.RData")
# correlation between estimated surface and mean perc.OM in epi samples
cor.test(survey$mean.perc.OM[survey$Depth == "epi"], 
    survey$est.surf.OM[survey$Depth   == "epi"]))
#==================================================

然后我将输出粘贴到另一个文本文件中,通常带有一些注释。

这种方法的问题是:

  1. 除了按日期外,代码和输出没有明确链接。
  2. 代码和输出是按时间顺序组织的,因此很难搜索。

我考虑过用所有东西制作一个 Sweave 文档,因为我可以制作一个目录,但这似乎比它提供的好处更麻烦。

让我知道您用于组织 R 代码和输出的任何有效例程,这些例程将允许有效地搜索和编辑分析。

4个回答

你不是第一个问这个问题的人。

我为每个项目或分析将所有内容组织成 4 个文件。(1) 'code' 我存储 R 函数的文本文件的地方。(2) 'sql' 我保存用于收集数据的查询的位置。(3) 'dat' 我保存原始数据和处理后数据的副本(通常是 csv)的地方。(4) 'rpt' 我存储已分发的报告的位置。

我的所有文件都使用非常冗长的名称命名,例如“analysis_of_network_abc_for_research_on_modified_buffer_19May2011”

我还预先编写详细的文档,在其中组织假设、任何假设、包含和排除标准,以及我打算采取哪些步骤来实现我的可交付成果。所有这些对于可重复的研究来说都是无价的,并使我的年度目标设定过程更容易。

现在我已经切换到 Sweave,我再也不想回去了。特别是如果您有绘图作为输出,那么跟踪用于创建每个绘图的代码就容易多了。它还使得在开始时纠正一件小事并让它在输出中波动变得更加容易,而无需手动重新运行任何东西。

对于构建单个 .R 代码文件,您还可以使用strcode,这是我创建的一个 RStudio 插件,用于插入代码分隔符(带有可选标题)并基于它们 - 获取代码文件的摘要。我在这篇博文中更详细地解释了它的用法