我有一个巨大的数据集,称为df(约16gb数据)。 想要一次打开100行,并且每次读取100行时,我们都将其分配给一个变量。 这意味着第一个变量应在1-100之间,第二个变量应在101-200之间。
将前100行数据加载到10个变量中的代码应为:
reportlen <- seq(10,100,10)
for (i in length(reportlen)){
file <- fread(paste0("C:/Users/Documents/data.csv,", "nrows =",reportlen[i]))
assign(paste0("f", i),file)
}
但是,我遇到了一个错误,它给了我空值。
答案 0 :(得分:0)
如果您真的想采用当前的方法,则可能必须使用skip
的{{1}}功能,以将当前的读取量抵消已经读取的任何数量。
但是,考虑到您打算将整个文件都带入内存,我建议一次性读取整个文件:
fread
变量df <- read.csv(file="C:/Users/Documents/data.csv")
parts <- str(split(df, (as.numeric(rownames(df))-1) %/% 100))
应该是一个包含多个数据帧的列表,每个数据帧的长度为100行(最后一个数据帧可能除外,它可能还有其他计数)。