You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中自动化处理.dat食品消费数据:标准化行数与添加时间戳

求助:处理大体积分钟级食品消费数据集的内存优化方案

我现在有个文件夹,里面装着1900个.dat格式的数据集,都是2012-2017年的单日分钟级食品消费数据,文件名都是按日期命名的,举个例子:FC-20120204.dat、FC-20120205.dat、FC-20120206.dat。

每个标准的数据集应该有1500列(对应1500个变量)和1440行(对应一天的每一分钟数据),但目前遇到了几个问题:

  • 大量数据集不完整,行数只有899、1101这类非1440的数值;
  • 数据本身不带日期/时间戳,很容易混淆不同文件的记录;
  • 最终只需要保留时间戳和第25列(核心数据对应原文件的C列);
  • 需要把所有处理后的数据整理成连续格式,最终通过rbind合并。

我原本打算先把所有数据集标准化为1440行,之前在Stack Overflow上参考了一个方案,试了下面的代码:

files<-list.files(pattern="FC") 
result <- sapply(files, function(file) { 
  temp <- read.csv(file) # 可能需要根据表头做调整
  temp[,25] 
})

但整个数据集总大小大概有9GB,而我的电脑RAM只有8GB,运行的时候R Studio直接崩溃了,推测list.files搭配sapply/lapply这种一次性加载处理的方式,根本不适合这么大的数据量。

我现在初步的思路是:逐个导入文件,先给它添加时间戳,然后标准化行数到1440行,再筛选出目标列,之后保存成新的小文件,最后再合并这些处理后的文件。不过想请教有没有更简便高效的处理方式?

补充说明:我准备了3个示例数据集,方便大家参考。


内容的提问来源于stack exchange,提问作者MT32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:08:07