在 R 中将每行数据集分割成更小的文件

Gon*_*ica 5 import split r dataset bigdata

我正在分析一个 1.14 GB(1,232,705,653 字节)的数据集。

读取R中的数据时:

trade = read.csv("commodity_trade_statistics_data.csv")
Run Code Online (Sandbox Code Playgroud)

可以看到它有 8225871 个实例和 10 个属性。

R 中的数据

由于我打算通过 Data Wrangling Web 应用程序分析数据集,该应用程序的导入限制为 100MB,我想知道如何将数据拆分为最大 100MB 的文件?

我打算按行进行分割,每个文件都应包含标题。

eas*_*00d 6

将数据帧分割成所需数量的块。这是内置mtcars数据集的示例:

no_of_chunks <- 5

f <- ceiling(1:nrow(mtcars) / nrow(mtcars) * 5)

res <- split(mtcars, f)
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下命令将结果另存为 csv purrr

library(purrr)
map2(res, paste0("chunk_", names(res), ".csv"), write.csv)
Run Code Online (Sandbox Code Playgroud)

编辑: 在我的问题中,以下脚本解决了问题:

trade = read.csv("commodity_trade_statistics_data.csv")

no_of_chunks <- 14

f <- ceiling(1:nrow(trade) / nrow(trade) * 14)

res <- split(trade, f)

library(purrr)
map2(res, paste0("chunk_", names(res), ".csv"), write.csv)
Run Code Online (Sandbox Code Playgroud)