[R] sort a data frame by a vector

Don MacQueen macq at llnl.gov
Wed Dec 2 06:52:19 CET 2009


This looks like a job for match().

>  vec = c("C", "A", "B")
>
>  dataDF = data.frame(A1 = c("B", "A", "C"), A2 = c(1,2,3))
>
>
>  dataDF[match(dataDF$A1,vec),]
   A1 A2
3  C  3
2  A  2
1  B  1

-Don


At 10:36 PM -0500 12/1/09, Hao Cen wrote:
>Hi,
>
>
>
>I have a a vector  and a data frame with two columns
>
>vec = c("C", "A", "B")
>
>dataDF = data.frame(A1 = c("B", "A", "C"), A2 = c(1,2,3))
>
>
>
>I would like to sort the data frame by column A1 such that the order of
>elements in A1 is as the same as in vec.
>
>
>
>After the ordering, the data frame would be
>
>A1           A2
>
>C             3
>
>A             2
>
>B             1
>
>
>
>Any suggestions would be appreciated.
>
>
>
>Thanks in advance
>
>
>
>Jeff
>
>
>	[[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.


-- 
---------------------------------
Don MacQueen
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062
macq at llnl.gov




More information about the R-help mailing list