[R] sort a data frame by a vector

jim holtman jholtman at gmail.com
Wed Dec 2 04:59:21 CET 2009


The factor statement should have been:  (missed the 'vec' on the first reading)

dataDF$A1 <- factor(dataDF$A1, levels=vec)

On Tue, Dec 1, 2009 at 10:57 PM, jim holtman <jholtman at gmail.com> wrote:
> 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?
>



-- 
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