Re: [R] Order of columns(variables) in dataframe

From: Ted Harding <Ted.Harding_at_manchester.ac.uk>
Date: Sun, 20 Jul 2008 12:53:45 +0100 (BST)


On 20-Jul-08 11:32:14, Daniel Wagner wrote:
> Dear R experts,
> I have a dataframe withÂ_4 columns (variables). I want to redorder (or
> reposition) these columns on the basis of a value in its last row. e.g.
> df1<-data.frame( v1= c(2,3,1,9,5), v2=c(8,5,12,4,11), v3=c(7,8,2,6,9),
> v4=c(1,4,6,3,6))
>
> I wanto to get the order of df1 on the basis of value in last row
> (descending order) like
>
> [Sorry, had to delete your examples because of intrusive special
> characters, but reproduced below anyway]
>
> Could somebody help me?
> Daniel
> Amsterdam

Try the following. It seems one needs to pass from dataframe to matrix, since sort() does not like lists! Maybe others know better ...

  df1<-data.frame( v1= c(2,3,1,9,5), v2=c(8,5,12,4,11),     v3=c(7,8,2,6,9), v4=c(1,4,6,3,6))
  df1

#   v1 v2 v3 v4
# 1  2  8  7  1
# 2  3  5  8  4
# 3  1 12  2  6
# 4  9  4  6  3
# 5  5 11  9  6

  M<-as.matrix(df1)
  L<-M[nrow(M),]

  ix<-sort(L,decreasing=TRUE,index.return=TRUE)$ix   df2<-as.data.frame(M[,ix])
  df2

#   v2 v3 v4 v1
# 1  8  7  1  2
# 2  5  8  4  3
# 3 12  2  6  1
# 4  4  6  3  9
# 5 11  9  6  5


Hoping this helps,
Ted.



E-Mail: (Ted Harding) <Ted.Harding_at_manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861
Date: 20-Jul-08                                       Time: 12:52:12
------------------------------ XFMail ------------------------------

______________________________________________
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. Received on Sun 20 Jul 2008 - 11:56:52 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 20 Jul 2008 - 13:32:08 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive