[R] pivot table in R

Attiglah, Mama Mama_Attiglah at ssga.com
Tue Jan 29 13:21:28 CET 2008

A = read.table("clipboard", header=TRUE)
> A
  sex   age region no_of_accidents
1   F young  north              10
2   F young  south              12
3   F   old  north               5
4   F   old  south               7
5   M young  north              24
6   M young  south              30
7   M   old  north              12
8   M   old  south              17

sum(A$no_of_accidents[which( A$sex=="F")])

should give you the required sum. 

You have to remember that sex, age and region are Factors with their
respective levels and no_of_accidents is a numeric vector.

Do str( A) to see their type.
Hope that helps.


Mama Attiglah, PhD
Advanced Research Center 
Quantitative Research Analyst 
State Street Bank
+44(0)20 7698 6290 (Direct Line)
+44 (0)207 004 2968 (Direct Fax)
Please visit our Web site at 

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of pietro.parodi at aon.co.uk
Sent: 29 January 2008 12:05
To: r-help at r-project.org
Subject: [R] pivot table in R


I'm struggling with an elementary problem with R. I have a simple data 
frame such as this one giving the number of accidents subdivided by sex,

age and region.

sex     age     region          no_of_accidents

F       young   north           10
F       young   south           12
F       old     north           5
F       old     south           7
M       young   north           24
M       young   south           30
M       old     north           12
M       old     south           17

and I would like to build a pivot table, e.g. obtaining the sum of the 
number of accidents for each sex:

sex     age     region          no_of_accidents

F       (any)   (any)           34
M       (any)   (any)           83

but I can't seem to obtain this result simply in R, except by embarking
complicated "for" loops.

I have checked the documentation on such functions as "table()" and the 
documentation on "An introduction to R" but couldn't solve the problem. 
Could you please help me with this?




For Aon's standard conditions associated with this e-mail please visit
Aon Limited
Registered Office: 8 Devonshire Square, London EC2M 4PL
Registered in London No. 210725 . VAT Registration No. 480 8401 48

Aon Limited is authorised and regulated by the Financial Services
Authority in respect of insurance mediation activities only.

	[[alternative HTML version deleted]]

More information about the R-help mailing list