以编程方式从 RData 文件集合中提取对象

Programmatically extract an object from collection of RData files

我们在生产环境中工作,assembled 来自 API 调用的大型数据集保存为 RData 文件,以保留完整的环境和后续数据摘要。 RData 文件非常大,包含多个使用标准分析工作流程生成的具有相似名称和结构的数据框对象。

我正在寻找一种干净的方法来遍历 RData 文件的集合,从每个文件中提取一个命名对象,然后 assemble 放入 AllCohorts 数据框中进行分析。

我们找到了一个有用的解决方案。

  1. 提取器函数
 extractorRData <- function(file, object) {
      #' Function for extracting an object from a .RData file created by R's save() command
      #' Inputs: RData file, object name
      E <- new.env()
      load(file=file, envir=E)
      return(get(object, envir=E, inherits=F))
    }
  1. 从 RData 文件“priorRun.RData”中提取数据框“allParams”,而不加载整个环境。
      allParams.prior <- extractorRData("priorRun.RData", "allParams")

事实证明,这种方法既快速又灵活。对于重建速度较慢的大型数据帧很有用。