1

ライブラリを使用ffffbaseて大きな csv ファイルを管理しています (~40Go および 275e6 観測)。このファイルをその列の 1 つ (因子列) に従って分割/分割したいと思います。

通常のデータ フレームでは、次のようにします。

a <- data.frame(rnorm(10000,0,1),
                sample(1:100,10000,replace=T),
                sample(letters,10000,replace = T))
names(a) <- c('V1','V2','V3')
a_partition <- split(a,a$V3)
names(a_partition) <- paste("df",names(a_partition),sep = "_")
list2env(a_partition,globalenv())

しかし、機能はffありffbaseませんsplit。それで、ffbaseドキュメントを見て、次のように見つけffdfplyて使用しようとしました:

ffa <- as.ffdf(a)
ffa_partititon <- ffdfdply(x = ffa,split = ffa$V3)

残念ながら、ログメッセージが表示されます:

分割サイズの計算 分割
位置の構築
分割 1/1 での作業、26 個の分割要素の RAM でのデータの抽出、
合計、0.00015 GB、
BATCHBYTES を使用して指定された最大指定データは 0.01999 GB
... 選択したデータに FUN を適用
エラー: 引数 " FUN" がありません。デフォルトはありません

私は試してみFUN = as.data.frameました(関数の結果はデー​​タフレームでなければならないため)運がありません:そうすることでffa_partitionがffaのコピーになります...

ffdf を分割するにはどうすればよいですか?

4

1 に答える 1