我有一个工作流,我针对基本相同数据集的变体运行(它是一个 emr 提取,有时我针对批量提取的迭代运行,有时针对测试提取的迭代)。
这些数据集(应该是)同质的,并且通常具有相同的处理要求。
也就是说,在我将项目迁移到 drake 之前,已经对其中一个测试数据集的一个子集执行了很多分析,有时是半交互式的,几乎不能保证可重复性。
尽管通常在我的数据集中我不希望根据分析师开始时使用的相同标准过滤数据集,但对于某些数据集,它有助于验证工作流实际上是否为与原始分析相同的输入产生相同的结果.
分析人员可能使用的起始过滤器示例:
filter_extract_window <- function(df) {
start <- lubridate::dmy("01-04-2017")
end <- lubridate::dmy("30-06-2017")
df %>%
dplyr::filter(admit_dttm > start, admit_dttm < end) %>%
return()
}
给定的数据集与项目代码完全分开存储在包含该数据集的 drake_cache 的目录树和原始数据的子目录中。
那么我的问题是 - 将这样的功能导入我的工作流程的好方法是什么,而不是静态声明的导入?