Is there a "more efficient/elegant" way to obtain the result "z" below. a <- c('pink','pink','blue','blue','gold','gold') b <- c(5,8,9,12,7,4) agg <- aggregate(x=b,by=list(a), FUN='mean') m <- match(a, agg[,1]) z <- agg[m,2] z [[alternative HTML version deleted]]
On Fri, Aug 13, 2010 at 12:26 PM, Eva Nordstrom <eva.nordstrom at yahoo.com> wrote:> Is there a "more efficient/elegant" way to obtain the result "z" below. > > a <- c('pink','pink','blue','blue','gold','gold') > b <- c(5,8,9,12,7,4) > agg <- aggregate(x=b,by=list(a), FUN='mean') > m <- match(a, agg[,1]) > z <- agg[m,2] > z >Try: ave(b, a)