[R] sort a data frame by a vector

jim holtman jholtman at gmail.com
Wed Dec 2 04:57:33 CET 2009


Is this what you want:

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

If you want the sequence "CAB" then you will have to change the
factors in column 1:

> dataDF$A1 <- factor(dataDF$A1, levels=c("C", "A", "B"))
> dataDF[order(dataDF$A1),]
  A1 A2
3  C  3
2  A  2
1  B  1
>


On Tue, Dec 1, 2009 at 10:36 PM, Hao Cen <hcen at andrew.cmu.edu> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?




More information about the R-help mailing list