こういう話がある。
学習データはサンプリングするからメモリに載せられるけど、 予測対象はメモリに乗らない時に一行ずつ読み込んで処理をさせたい。
それ、foreach
と iterators
でできるよ!
R
library(foreach)
library(iterators)
iter <- iread.table("data.csv", header=FALSE, row.names=NULL, sep=",")
foreach(line.df = iter, .final=invisible) %do% {
write.table(line.df, stdout(), row.names=F, col.names=F, sep=",")
}
もちろん pforeach
でもできる。
R
library(pforeach)
library(iterators)
iter <- iread.table("data.csv", header=FALSE, row.names=NULL, sep=",")
npforeach(line.df = iter, .final=invisible)({
write.table(line.df, stdout(), row.names=F, col.names=F, sep=",")
})
Enjoy!