私は R のff
パッケージを使用しffdf
ており、作業する必要のあるオブジェクト (約 1.5M x 80 の寸法) をいくつか持っています。ただし、効率的なスライス/ダイシング操作について頭を悩ませています。
たとえば、「YEAR」と「AGE」という名前の 2 つの整数列があり、YEAR が 2005 の場合に AGE のテーブルを作成したいとします。
1 つのアプローチは次のとおりです。
ffwhich <- function(x, expr) {
b <- bit(nrow(x))
for(i in chunk(x)) b[i] <- eval(substitute(expr), x[i,])
b
}
bw <- ffwhich(a.fdf, YEAR==1999)
answer <- table(a.fdf[bw, "AGE"])
table()
操作は高速ですが、ビット ベクトルの構築は非常に遅くなります。これを改善するための推奨事項はありますか?