Hi Pietro,

Depending on the actual structure you want in the output, you can use 
some of the functions in the apply family, particularly tapply, 
aggregate, or by. Something like :

R> tapply( d[["no_of_accidents" ]], d[[ "sex" ]], sum )
F M
34 83

R> aggregate( d["no_of_accidents" ], d[ "sex" ], sum )
sex no_of_accidents
1 F 34
2 M 83

R> by( d[["no_of_accidents" ]], d[[ "sex" ]], sum )
INDICES: F
[1] 34
------------------------------------------------------------
INDICES: M
[1] 83

Cheers,

Romain

-- 
Mango Solutions
data analysis that delivers

R for finance training course :: 3 days :: London (27-29/02/2008)
http://www.mango-solutions.com/services/rtraining/r_finance.html


[EMAIL PROTECTED] wrote:
> 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@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.

Reply via email to