# [R] Crosstab with Average and Count

arun smartpink111 at yahoo.com
Fri Jul 20 14:25:51 CEST 2012

```Hi,

Try this:
dat1<-data.frame(x,y,z)

xtabs(z~x+y,aggregate(z~x+y,dat1,mean))
y
x    10  20  30
1 100   0   0
2   0 200   0
3   0   0 300

table(dat1\$z,dat1\$y)

10 20 30
100  2  0  0
200  0  3  0
300  0  0  3
or,
table(dat1\$x,dat1\$z)

100 200 300
1   2   0   0
2   0   3   0
3   0   0   3

A.K.

----- Original Message -----
From: vioravis <vioravis at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Friday, July 20, 2012 6:30 AM
Subject: [R] Crosstab with Average and Count

I have the following data:

x <- as.factor(c(1,1,1,2,2,2,3,3,3))
y <- as.factor(c(10,10,10,20,20,20,30,30,30))
z <- c(100,100,NA,200,200,200,300,300,300)

I could create the cross tab of x and y with Sum of z as its elements using
the xtabs function as follows:

# X Vs. Y with Sum Z

xtabs(z ~ x + y)

y
x    10  20  30
1 200   0   0
2   0 600   0
3   0   0 900

How do I replace the sum with average and count so that I can get the
following outputs??

# X Vs. Y with Average of Z
y
x      10  20  30
1    100 0   0
2    0   200 0
3    0   0   300

# X Vs. Y with Count Z
y
x    10  20  30
1    2   0   0
2    0   3   0
3    0   0   3

Would appreciate any help on these? Thank you.

Ravi

--
View this message in context: http://r.789695.n4.nabble.com/Crosstab-with-Average-and-Count-tp4637180.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help