我在R如果我把它应用到超过1000行的数据集电抗器的功能。因此,我想将我的数据集分成n个块,每个块不超过1000行。把一个数据集分成块
这里是我目前使用做分块的功能:
chunkData <- function(Data,chunkSize){
Chunks <- floor(0:(nrow(Data)-1)/(chunkSize))
lapply(unique(Chunks),function(x) Data[Chunks==x,])
}
chunkData(iris,100)
我想使这个功能更高效,使其运行在大型数据集的速度更快。
为什么不解决这个问题上有超过1000行对象扼流圈的功能? – 2012-01-06 19:19:23
是的,真的!您可能只需要了解内存管理,或者了解如何(而不是)组织数据。另外,定义“扼杀”。仅仅因为1000行(*多少列)在你感到无聊之前完成,并不意味着10^5行的净处理时间得到了改善。 – 2012-01-06 22:28:56
@CarlWitthoft和Josh:谢谢你的建议。我已经对这个函数进行了很多优化,但是它涉及到大量的数据转换,它们吸收了内存,我认为这是不可避免的。我实际上决定把它吸起来并逐行应用这个函数,这需要很长时间,但不会耗尽内存。 – Zach 2012-01-06 23:32:04