Skip to content
Prev 30796 / 398513 Next

accessing current factor in tapply

Here's a way (but as Sundar Dorai-Raj suggests, it might be easier to use a 
for loop.)

 > cc <- 1:10
 > ff <- rep(c("a","b"),5)
 > # a different function, so that we can see what data and what label it gets
 > data.lab <- function(data,lab) paste(paste(data, collapse=" "), 
paste(as.character(lab), collapse=" "), sep="/")
 > # ii is indices of each group of ff
 > ii <- tapply(cc, ff, c)
 > sapply(seq(along=ii), function(j, ii, cc, labs) 
data.lab(data=cc[ii[[j]]],lab=labs[j]), ii=ii, cc=cc, labs=names(ii))
[1] "1 3 5 7 9/a"  "2 4 6 8 10/b"
 >
 >
At Thursday 06:13 PM 4/17/2003 +0100, you wrote: