[R] Splitting a dataframe at the results of tapply
Dimitris Rizopoulos
dimitris.rizopoulos at med.kuleuven.be
Thu Dec 7 10:08:08 CET 2006
try this:
dat <- data.frame(Id, Noise, Height)
##############
dat <- dat[order(dat$Id), ]
ind <- unlist(tapply(dat$Noise, dat$Id, function(x) x == max(x)))
dat[ind, ]
dat[!ind, ]
I hope it helps.
Best,
Dimitris
----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven
Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
http://www.student.kuleuven.be/~m0390867/dimitris.htm
----- Original Message -----
From: "E. Gordijn" <GORDIJN_E at schiphol.nl>
To: <r-help at stat.math.ethz.ch>
Sent: Thursday, December 07, 2006 8:48 AM
Subject: [R] Splitting a dataframe at the results of tapply
>I have got a dataframe containing measurement of aircraft noise like
> this:
>
>> Id <- c(1,4,5,2,3,6,4,1,2,5,6,3)
>> Noise <- c(88,94,97,98,92,56,103,102,87,95,92,97)
>> Height <- c(190, 150, 120, 115, 188, 104, 101, 189, 146, 111, 124,
> 126)
>>
>> df <- data.frame(Id, Noise, Height)
> Now I would like to split this in two new dataframes. The first one
> containing the rows with the maximum Noise for each Id and in the
> second
> the other rows.
>
> I manage to find that maximum Noise levels...
>
>> m <- tapply(df$Noise, Id.factor, max)
>> m
> 1 2 3 4 5 6
> 102 98 97 103 97 92
>
> But how do I split my dataframe?
>
>
> --
> Ed Gordijn
> Adviseur geluidscapaciteit
>
> Amsterdam Airport Schiphol
> Business Area Aviation (A/CAP/EC)
> Postbus 7501, 1118 ZG Schiphol
> Bezoekadres: Evert v/d Beekstraat 202, 1118 CP Schiphol
>
> tel 020 601 32 22
> fax 020 601 21 34
> e-mail gordijn_e at schiphol.nl
>
> meer informatie is te vinden op www.schiphol.nl
> --
>
>
> -------------------------------------------------------------------
> This e-mail may contain confidential and privileged
> material...{{dropped}}
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
>
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
More information about the R-help
mailing list