[R] Sorting in R
Jim Robison-Cox
jimrc at gauss.math.montana.edu
Wed Jun 21 17:33:36 CEST 2000
On Wed, 21 Jun 2000, Art Salwin wrote:
> How do you sort one vector using another vector as a sort
> key? Sort of equivalent
> to sorting rows of a spreadsheet using one of its columns as
> key. Here's a simple example:
>
> name<-c("Joe","Sue","Mary")
> age<-c(22, 57, 13)
> zipcode<-(50854, 20617, 91234)
For brevity, I'd make these into a data frame:
spsheet <- data.frame(name,age,zip)
> If we sort the name vector in zipcode order we should get
> mary, joe, sue
name(order(zip))
or
spsheet[order(zip),]
> If we sort name in age order we should get sue, joe, mary
name(order(age))
or
spsheet[order(age),]
> Having secondary keys to break ties would be nice, as would
> the ability to sort (in this example)
> all 3 vectors at once.
That's a bit harder, I would sort first on the secondary column, then
the primary. Or tertiary - secondary - primary.
If primary is name, secondary age, tertiary zip:
spsheet <- spsheet[order(zip),]
spsheet <- spsheet[order(age),]
spsheet[order(name),]
I hope someone has a better way.
> Any help appreciated.
> --
> Art Salwin
> salwin at mitretek.org
> (202) 863-2985
> (202) 863-2988 (fax)
> -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
> r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
> Send "info", "help", or "[un]subscribe"
> (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
> _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
>
Jim Robison-Cox ____________
Department of Math Sciences | | phone: (406)994-5340
2-214 Wilson Hall \ BZN, MT | FAX: (406)994-1789
Montana State University | *_______|
Bozeman, MT 59717-2400 \_| e-mail: jimrc at math.montana.edu
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list