[R] Sorting data.frame and again sorting within data.frame
David Winsemius
dwinsemius at comcast.net
Mon Apr 15 17:58:15 CEST 2013
On Apr 14, 2013, at 11:01 PM, Katherine Gobin wrote:
> Dear R forum,
>
> I have a data.frame as defied below -
>
> df = data.frame(names = c("C", "A", "A", "B", "C", "B", "A", "B", "C"), dates = c("4/15/2013", "4/13/2013", "4/15/2013", "4/13/2013", "4/13/2013", "4/15/2013", "4/14/2013", "4/14/2013","4/14/2013" ),values = c(10, 31, 31, 17, 11, 34, 102, 47, 29))
>
>> df
> names dates values
> 1 C 4/15/2013 10
> 2 A 4/13/2013 31
> 3 A 4/15/2013 31
> 4 B 4/13/2013 17
> 5 C 4/13/2013 11
> 6 B
> 4/15/2013 34
> 7 A 4/14/2013 102
> 8 B 4/14/2013 47
> 9 C 4/14/2013 29
>
> I need to sort df first on "names" in increasing order and then further on "dates" in a decreasing order i.e. I need
>
So far no one has pointed out that these are not really "Dates" in the R sense and will not sort correctly if any of the proposed methods are applied to sequences that extend beyond6 months, i.e, until October forward. You would be advised to convert to real Date-classed variables.
?strptime
?as.Date
--
David
> names dates values
> A 4/15/2013 31
> A 4/14/2013 102
> A 4/13/2013 31
> B 4/15/2013
> 34
> B 4/14/2013 47
> B 4/13/2013 17
> C 4/15/2013 10
> C 4/14/2013 29
> C 4/13/2013 11
>
> I tried
>
> df_sorted = df[order(df$names, (as.Date(df$dates, "%m/%d/%Y")), decreasing = TRUE),]
>
>> df_sorted
> names dates values
> 1 C 4/15/2013 10
> 9 C 4/14/2013 29
> 5 C 4/13/2013
> 11
> 6 B 4/15/2013 34
> 8 B 4/14/2013 47
> 4 B 4/13/2013 17
> 3 A 4/15/2013 31
> 7 A 4/14/2013 102
> 2 A 4/13/2013 31
>
>
> I need A to appear first with all three corresponding dates in decreasing order, then B and so on.
>
> Please guide.
>
> With regards
>
> Katherine
>
>
> [[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.
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list