[R] sort a data frame by a vector

milton ruser
Wed, 02 Dec 2009 03:57:49 -0000

not ellegant.. but...

vecDF = data.frame(A1=c("C", "A", "B"))
vecDF$A1.order=1:dim(vecDF)
vecDF
dataDF = data.frame(A1 = c("B", "A", "C"), A2 =
c(1,2,3))
dataDF2<-merge(vecDF, dataDF,
by=intersect(colnames(vecDF),colnames(dataDF)))
dataDF2
dataDF2.ord<-dataDF2[order(dataDF2$A1.order),]
dataDF2.ord

milton

On Tue, Dec 1, 2009 at 10:36 PM, Hao Cen <hcen@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@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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]