[R] Sorting data.frame and again sorting within data.frame
David Winsemius
dwinsemius at comcast.net
Mon Apr 15 19:19:08 CEST 2013
On Apr 15, 2013, at 9:33 AM, Jeff Newmiller wrote:
> Yes, that would be because she converted to Date on the fly in her example, and so apparently did not need this reminder.
I apologize, Iobviously missed that. So the answer was simply to put a minus sign in front of the as.Date() expression. And that was what you were hoping she would see when she looked at the second and third examples help page that even had helpful comments. As you suggested:
df_sorted = df[order(df$names, -as.numeric( as.Date(df$dates, "%m/%d/%Y") ), ]
--
David
---------------------------------------------------------------------------
>
> Jeff Newmiller The ..... ..... Go Live...
> DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
> Live: OO#.. Dead: OO#.. Playing
> Research Engineer (Solar/Batteries O.O#. #.O#. with
> /Software/Embedded Controllers) .OO#. .OO#. rocks...1k
> ---------------------------------------------------------------------------
> Sent from my phone. Please excuse my brevity.
>
> David Winsemius <dwinsemius at comcast.net> wrote:
>
>>
>> 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 Winsemius
Alameda, CA, USA
More information about the R-help
mailing list