Many ThanKs to all. 2012/6/10 Bert Gunter <gunter.ber...@gene.com>
> On Sun, Jun 10, 2012 at 2:22 PM, arun <smartpink...@yahoo.com> wrote: > > Hi Bert, > > > > I tried the code. > > > > dat2<-data.frame(dat1) > >> do.call(order,dat2) > > [1] 3 6 1 10 2 5 7 9 8 4 > > > > > > Here, I get the order of 1st column as a list. Is there anything I am > missing here? > No you don't. You get a vector of row indices, but ... > > My oversight. Subscript the rows of dat2 by this: > > dat2[do.call(order,dat2) , ] > > -- Bert > > > > Thanks, > > A.K. > > > > > > > > > > ----- Original Message ----- > > From: Bert Gunter <gunter.ber...@gene.com> > > To: arun <smartpink...@yahoo.com> > > Cc: Trying To learn again <tryingtolearnag...@gmail.com>; R help < > r-help@r-project.org> > > Sent: Sunday, June 10, 2012 4:47 PM > > Subject: Re: [R] Order all the columns ascending elements on a matrix or > a data frame > > > > Inline ... > > > > -- Bert > > > > On Sun, Jun 10, 2012 at 10:46 AM, arun <smartpink...@yahoo.com> wrote: > >> Hi, > >> > >> If your intention is to order the first column by ascending, then by > 2nd and so on.. > >> Try this. > >> > >> set.seed(1) > >> dat1<-cbind(x=rnorm(10,5,0.5),y=runif(10,0.4),z=rnorm(10,15,0.2)) > >> dat1 > >> x y z > >> [1,] 4.686773 0.9608231 14.99101 > >> [2,] 5.091822 0.5272855 14.99676 > >> [3,] 4.582186 0.7910043 15.18877 > >> [4,] 5.797640 0.4753331 15.16424 > >> [5,] 5.164754 0.5603324 15.11878 > >> [6,] 4.589766 0.6316685 15.18380 > >> [7,] 5.243715 0.4080342 15.15643 > >> [8,] 5.369162 0.6294328 15.01491 > >> [9,] 5.287891 0.9218145 14.60213 > >> [10,] 4.847306 0.6042094 15.12397 > >> > >> dat1[order(dat1[,1],dat1[,2],dat1[,3]),] > > > > ## if dat1 is a data frame, e.g. > > > > dat1 <- data.frame(dat1) > > > > ## This can be shortened to: > > > > do.call(order,dat1) > > > > ?do.call > > > > -- Bert > > > >> x y z > >> [1,] 4.582186 0.7910043 15.18877 > >> [2,] 4.589766 0.6316685 15.18380 > >> [3,] 4.686773 0.9608231 14.99101 > >> [4,] 4.847306 0.6042094 15.12397 > >> [5,] 5.091822 0.5272855 14.99676 > >> [6,] 5.164754 0.5603324 15.11878 > >> [7,] 5.243715 0.4080342 15.15643 > >> [8,] 5.287891 0.9218145 14.60213 > >> [9,] 5.369162 0.6294328 15.01491 > >> [10,] 5.797640 0.4753331 15.16424 > >> > >> > >> > >> But, if it is like to order all the columns at once, > >> > >> apply(dat1,2,sort) > >> > >> x y z > >> [1,] 4.582186 0.4080342 14.60213 > >> [2,] 4.589766 0.4753331 14.99101 > >> [3,] 4.686773 0.5272855 14.99676 > >> [4,] 4.847306 0.5603324 15.01491 > >> [5,] 5.091822 0.6042094 15.11878 > >> [6,] 5.164754 0.6294328 15.12397 > >> [7,] 5.243715 0.6316685 15.15643 > >> [8,] 5.287891 0.7910043 15.16424 > >> [9,] 5.369162 0.9218145 15.18380 > >> [10,] 5.797640 0.9608231 15.18877 > >> > >> Here, the all columns are sorted to ascending, but only problem is that > the corresponding elements in each of the rows in the original dataset has > also changed. > >> > >> > >> A.K. > >> > >> > >> > >> > >> ----- Original Message ----- > >> From: Trying To learn again <tryingtolearnag...@gmail.com> > >> To: r-help@r-project.org > >> Cc: > >> Sent: Sunday, June 10, 2012 2:36 AM > >> Subject: [R] Order all the columns ascending elements on a matrix or a > data frame > >> > >> Imagine I have a csv KT.csv > >> > >> I want to create a new dataframe o convert KT in a matrix and create a > new > >> matrix with each column of KT ordered by ascending order. > >> > >> I have tried to make this > >> > >> b<-read.csv("KT.csv") > >> > >> > >> for(i in 1:ncol(b)){ > >> > >> b[,i]<-sort(b[,i]) > >> > >> } > >> > >> But it puts a message that the number of rows doesn´t correspond. > >> > >> Can someone give me a clue on how to order. > >> > >> Many Thaks. > >> > >> ______________________________________________ > >> 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 > >> and provide commented, minimal, self-contained, reproducible code. > >> > >> > >> ______________________________________________ > >> 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 > >> and provide commented, minimal, self-contained, reproducible code. > > > > > > > > -- > > > > Bert Gunter > > Genentech Nonclinical Biostatistics > > > > Internal Contact Info: > > Phone: 467-7374 > > Website: > > > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm > > > > > > -- > > Bert Gunter > Genentech Nonclinical Biostatistics > > Internal Contact Info: > Phone: 467-7374 > Website: > > http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm > [[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 and provide commented, minimal, self-contained, reproducible code.