我正在使用 R 的ff
包,我有一些ffdf
需要处理的对象(尺寸约为 1.5M x 80)。不过,我在了解有效的切片/切块操作时遇到了一些麻烦。
例如,我有两个名为“YEAR”和“AGE”的整数列,我想在 YEAR 为 2005 时制作一个 AGE 表。
一种方法是:
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()
但构建位向量非常慢。有人有更好的建议吗?