Skip to content
Back to formatted view

Raw Message

Message-ID: <CADv2QyHz1u4V1YZsAWLVtpWpGTrq3cKrw5j-46O-Ah6+yBmYow@mail.gmail.com>
Date: 2011-11-09T00:33:59Z
From: Dennis Murphy
Subject: Sorting Panel Data by Time
In-Reply-To: <1320782329255-4017271.post@n4.nabble.com>

Here's another approach using the plyr and data.table packages, where
df is the name I gave to your example data:

# plyr
library('plyr')
ddply(df, .(TIME), mutate, L1 = sort(S1))

# Another way with the data.table package:
library('data.table')
dt <- data.table(df, key = 'TIME')
dt[, list(X1, S1, L1 = sort(S1)), by = 'TIME']

HTH,
Dennis

On Tue, Nov 8, 2011 at 11:58 AM, economicurtis <curtisesjunk at gmail.com> wrote:
> I have panel data in the following form:
>
> TIME ? X1 ? ? S1
> ?1 ? ? ? 1 ? ? ?0.99
> ?1 ? ? ? 2 ? ? ?0.50
> ?1 ? ? ? 3 ? ? ?0.01
> ?2 ? ? ? 3 ? ? ?0.99
> ?2 ? ? ? 1 ? ? ?0.99
> ?2 ? ? ? 2 ? ? ?0.25
> ?3 ? ? ? 3 ? ? ?0.75
> ?3 ? ? ? 2 ? ? ?0.50
> ?3 ? ? ? 1 ? ? ?0.25
> ... ? ? ?... ? ? ......
>
> And desire a new vector of observations in which one column (S1 above) is
> sorted for each second from least to largest.
>
> That is, a new vector (L1 below) of the form:
>
> TIME ? X1 ? ? S1 ? ? ? L1
> ?1 ? ? ? 1 ? ? ?0.99 ? ?0.01
> ?1 ? ? ? 2 ? ? ?0.50 ? ?0.50
> ?1 ? ? ? 3 ? ? ?0.01 ? ?0.99
> ?2 ? ? ? 3 ? ? ?0.99 ? ?0.25
> ?2 ? ? ? 1 ? ? ?0.99 ? ?0.99
> ?2 ? ? ? 2 ? ? ?0.25 ? ?0.99
> ?3 ? ? ? 3 ? ? ?0.75 ? ?0.25
> ?3 ? ? ? 2 ? ? ?0.50 ? ?0.50
> ?3 ? ? ? 1 ? ? ?0.25 ? ?0.75
> ... ? ? ?... ? ? ...... ? ?.....
>
> Sorry for the NOOB question, but any help would be great.
>
> Curtis Kephart
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Sorting-Panel-Data-by-Time-tp4017271p4017271.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
>