0

我在 R 中有一个庞大而复杂的工作流程(大量初始输入、重新编码、合并、删除观察等),我在许多特定于每种输入类型、每个合并和数据操作步骤等的隔离函数中完成这项工作。现在只有最终的“分析数据集”被返回到全局环境中。

但是,我想编写一个记录数据组装过程的 knitr 文档,但是所有各种对象(数据帧/小标题)对于它们组装的函数都是本地的,我认为这是一个很好的实践。

选项似乎是:

  • 我可以为全局环境生成大量临时数据对象,但这会使全局环境变得混乱,我想保持整洁

  • 我可以将有趣的属性列表(N、合并成功信息、结构等)从函数返回到全局环境。有点整洁,但不是完全有效。

这显然是现在的一个新问题。我欢迎有关最佳前进方式的建议?

4

2 回答 2

1

你考虑过使用knitr::spin吗?共有三种类型的注释用于定义最终文件的呈现方式。

  1. #标准的 R 评论
  2. #'在行首将呈现为降价
  3. #+块选项

通过编写 data-assembly.R 脚本,然后调用knitr::spin("data-assembly.R").html 文件,将生成可能提供所需详细信息的文件。

示例 data-assembly.R 文件:

#' # Data Assembly Process
#' This document provides details on the construction of the final analysis data
#' set.
#' 
#' The namespaces needed for this work are:
#+ message = FALSE
library(tidyverse)

#' Our first step is to read in the data sets.  For this example, we'll just use
#' the `mtcars` data set
mtcars

#' A summary of the `mtcars` data set is below
summary(mtcars)

#' Let's only use data records for cars with automatic transmissions
mt_am_cars <- dplyr::filter(mtcars, am == 1)
mt_am_cars
于 2017-05-29T21:49:14.517 回答
0

返回具有类属性的对象,并为这些类定义打印方法。在主文档中,打印对象。这是解决这个问题的标准 R 方法。

于 2017-05-27T00:16:54.877 回答