【发布时间】:2010-12-03 20:32:01
【问题描述】:
我正在使用 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() 操作很快,但构建位向量却很慢。有没有人有更好的建议?
【问题讨论】: