# [R] pivot table in R

Christos Hatzis christos.hatzis at nuverabio.com
Tue Jan 29 18:23:37 CET 2008

```Also, see ?aggregate:

> with(A, aggregate(no_of_accidents, by=list(SEX=sex), FUN='sum'))
SEX  x
1   F 34
2   M 83

> -----Original Message-----
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of Attiglah, Mama
> Sent: Tuesday, January 29, 2008 7:21 AM
> To: pietro.parodi at aon.co.uk; r-help at r-project.org
> Subject: Re: [R] pivot table in R
>
> > 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
>
> -----
> Mama Attiglah, PhD
> Quantitative Research Analyst
> State Street Bank
> +44(0)20 7698 6290 (Direct Line)
> +44 (0)207 004 2968 (Direct Fax)
> www.ssga.com
>
> -----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
>
> Hello,
>
> 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 in 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.
>
> Cheers
>
> Pete
>
>
> PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS E-MAIL
>
> For Aon's standard conditions associated with this e-mail
> 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]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help