Displaying 1 result from an estimated 1 matches for "avy2".
Did you mean:
avx2
2010 Jun 29
1
Performance enhancement for ave
...;-data.frame(x=rnorm(n), y=rnorm(n), grp1=grp1, grp2=grp2)
system.time({
d$avx1 <- ave(d$x, list(d$grp1, d$grp2))
d$avy1 <- ave(d$y, list(d$grp1, d$grp2))
})
# user system elapsed
# 39.300 0.279 40.809
system.time({
d$avx2 <- ave(d$x, interaction(d$grp1, d$grp2, drop = T))
d$avy2 <- ave(d$y, interaction(d$grp1, d$grp2, drop = T))
})
# user system elapsed
# 6.735 0.209 7.064
all.equal(d$avy1, d$avy2)
# TRUE
all.equal(d$avx1, d$avx2)
# TRUE
i.e. ave should use g <- interaction(..., drop = TRUE)
Hadley
--
Assistant Professor / Dobelman Family Junior Chair
Depa...