Extending my question further, I want to apply different FUN arguments
on three fields and the "by" argument also contains more than one field.
For example:
set.seed(100)
d =
data.frame(a=sample(letters[1:2],20,replace=T),b=sample(3,20,replace=T),c=rpois(20,1),d=rbinom(20,1,0.5),e=rep(c("X","Y"),10))
Now I want to split by fields "a" and "b", and want to calculate
mean(c), sum(d) and "X"%in%e.
Is there any function which can do this and return the output in a
dataframe format. For the above example, it should ideally be a 6*5
dataframe.
Thanks in advance.
Regards,
Utkarsh Singhal
On 11/23/2009 5:14 AM, Gabor Grothendieck wrote:
Try this:
library(doBy)
summaryBy(breaks ~ ., warpbreaks, FUN = c(mean, sum, length))
wool tension breaks.mean breaks.sum breaks.length
1 A L 44.55556 401 9
2 A M 24.00000 216 9
3 A H 24.55556 221 9
4 B L 28.22222 254 9
5 B M 28.77778 259 9
6 B H 18.77778 169 9
On Mon, Nov 23, 2009 at 3:15 AM, utkarshsinghal
<utkarsh.sing...@global-analytics.com> wrote:
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
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.