Try:

with(x, tapply(var3, list(var1, var2), length))

with(x, tapply(var3, list(var1, var2), sum))

Or with xtabs

xtabs(as.logical(var3) ~ var1 + var2, data = x)

xtabs(var3 ~ var1 + var2, data = x)




On 4/25/08, ppaarrkk <simon_ecc@yahoo.co.uk> wrote:
>
>
> Can somebody tell me how to do the equivalent of a pivot table in R ?
>
>
> For example, if I have :
>
> var1    var2   var3
> a         x        10
> b         y        20
> a         z        10
> b         z        20
> a         z        10
> b         z        20
>
> I could have :
>
>           x       y       z
> a        1       0       2
> b        0       1       2
>
> where entries in the table are counts of var3.
>
>           x       y       z
> a        10       0       20
> b        0       20       40
>
> where entries are sums of var3.
>
>
>
> I would expect it to be tapply(), but I can't see how it would be done.
>
>
> Any suggestions please.
>
>
> --
> View this message in context:
> http://www.nabble.com/Equivalent-of-Excel-pivot-tables-in-R-tp16906289p16906289.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

	[[alternative HTML version deleted]]

