Skip to content
Prev 201257 / 398503 Next

FUN argument to return a vector in aggregate function

Hi All,

I am currently doing the following to compute summary statistics of 
aggregated data:
a = aggregate(warpbreaks$breaks, warpbreaks[,-1], mean)
b = aggregate(warpbreaks$breaks, warpbreaks[,-1], sum)
c = aggregate(warpbreaks$breaks, warpbreaks[,-1], length)
ans = cbind(a, b[,3], c[,3])

This seems unnecessarily complex to me so I tried
 > aggregate(warpbreaks$breaks, warpbreaks[,-1], function(z) 
c(mean(z),sum(z),length(z)))
but aggregate doesn't allow FUN argument to return a vector.

I tried "by", "tapply" and several other functions as well but the 
output needed further modifications to get the same format as "ans" above.

Is there any other function same as aggregate which allow FUN argument 
to return vector.

Regards
Utkarsh