[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 = 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
>
> -----
> 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
> 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.
> Could you please help me with this?
>
> Cheers
>
> Pete
>
>
> PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS E-MAIL
>
> For Aon's standard conditions associated with this e-mail
> please visit http://www.aon.com/uk/en/email-footer/aon-limited.jsp
> 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
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
More information about the R-help
mailing list