【发布时间】:2015-02-13 22:00:21
【问题描述】:
我正在尝试分段导入和导出一个 10GB 的 CSV 文件,其中包含大约 1000 万个观察值。最后我想要大约 10 个可管理的 RData 文件(data_1.RData、data_2.Rdata 等),但我无法使 skip 和 nrows 动态化。我的nrows 永远不会改变,因为每个数据集我需要近 100 万个数据集,但我想我需要为 skip= 提供一些等式,这样每个循环都会增加以捕获接下来的 100 万行。此外,拥有header=T 可能会弄乱ii=1 之上的任何内容,因为只有第一行将包含变量名。以下是我正在使用的大部分代码:
for (ii in 1:10){
data <- read.csv("myfolder/file.csv",
row.names=NULL, header=T, sep=",", stringsAsFactors=F,
skip=0, nrows=1000000)
outName <- paste("data",ii,sep="_")
save(data,file=file.path(outPath,paste(outName,".RData",sep="")))
}
【问题讨论】:
-
创建一个包含要跳过的行数的向量,并使用您的
[ii]对其进行索引?
标签: r csv for-loop export rdata