[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