[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