Ich verwende R ff
Paket und ich habe einige ffdf
Objekte (Abmessungen ca. 1,5 M x 80), die ich arbeiten muss. Ich habe jedoch einige Schwierigkeiten, meinen Kopf um die effizienten Schneide-/Trennoperationen herum zu bekommen. Subsetting ffdf Objekte in R
Zum Beispiel habe ich zwei Integer-Spalten haben den Namen „YEAR“ und „Alter“, und ich möchte eine Tabelle von AGE machen, wenn das Jahr 2005
Ein Ansatz ist, ist dies:
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"])
Die Operation table()
ist schnell, aber das Erstellen des Bitvektors ist ziemlich langsam. Hat jemand Empfehlungen, um das besser zu machen?
Wenn es nicht 'ff' wäre, könnte ich etwas viel einfacheres machen, wie' mit (Teilmenge (a.fdf, YEAR == 1999), Tabelle (AGE)) '. 'ff' ist der Teil, der es schwieriger macht. –