我使用R的ff
包,並且我需要使用一些ffdf
對象(尺寸大約爲1.5M x 80)。儘管如此,我仍然遇到了一些麻煩,不知道是否有效切割/切割操作。在R中設置ffdf對象
比如我有一個名爲「年」和「年齡」兩整列,我想使AGE的表時,這一年是2005年。
一種方法是這樣的:
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()
操作很快,但構建位向量非常慢。任何人有任何更好的做法的建議?
如果不是`ff`,我可以做更簡單的事情,比如`with(subset(a.fdf,YEAR == 1999),table(AGE))`。 `ff`是使它更棘手的部分。 – 2010-12-06 17:17:45