在 R 中快速将大向量分割成块

ken*_*nyB 5 performance r vector

我的问题与这个问题密切相关:

在 R 中将向量拆分为块

我试图将一个大向量分成已知的块大小,但速度很慢。具有偶数余数的向量的解决方案在这里:

存在因素时的快速解决方案如下:

根据数据帧的长度将数据帧分成相等的部分

我想处理没有(大)因素存在的情况,因为我想要相当大的块。

我的矢量示例比我现实生活中的矢量小得多:

d <- 1:6510321
# Sloooow
chunks <- split(d, ceiling(seq_along(d)/2000))
Run Code Online (Sandbox Code Playgroud)

ken*_*nyB 2

并行包的速度改进:

chunks <- parallel::splitIndices(6510321, ncl = ceiling(6510321/2000))
Run Code Online (Sandbox Code Playgroud)