
This is exactly what I wanted!

Thank you so much!

Z



> Date: Mon, 22 Sep 2008 19:21:43 -0500
> From: markleeds@verizon.net
> Subject: RE: [R] sort a data matrix by all the values and keep the names
> To: lzhtom@hotmail.com
> 
> Hi: there might be a quicker way but you can use stack and order. stack 
> creates a dataframe with 2 columns, values and ind,  with ind
> being the associate columns.
> 
> order(temp$values) creates the  indices of the ordered values so you 
> index by that to make it sorted.
> 
> temp <- stack(x)
> print(temp)
> print(str(temp))
> 
> sortedx <- temp[order(temp$values),]
> print(sortedx)
> 
> 
> 
> On Mon, Sep 22, 2008 at  7:54 PM, zhihuali wrote:
> 
> > Dear all,
> >
> > If I have a data frame  x<-data.frame(x1=c(1,7),x2=c(4,6),x3=c(8,2)):
> >    x1  x2  x3
> >    1     4  8
> >    7     6  2
> >
> > I want to sort the whole data and get this:
> > x1 1
> > x3  2
> > x2  4
> > x2  6
> > x1   7
> > x3   8
> >
> >  If I do sort(X), R reports:
> > Error in order(list(x1 = c(1, 7), x2 = c(4, 6), x3 = c(8, 2)), 
> > decreasing = FALSE) :   unimplemented type 'list' in 'orderVector1'
> >
> > The only way I can sort all the data is by converting it to a matrix:
> >> sort(as.matrix(x))
> > [1] 1 2 4 6 7 8
> >
> > But now I lost all the names attributes.
> >
> > Is it possible to sort a data frame and keep all the names?
> >
> > Thanks!
> >
> > Zhihua Li
> >
> > _________________________________________________________________
> > [[elided Hotmail spam]]
> >
> > 	[[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.

_________________________________________________________________
[[elided Hotmail spam]]

	[[alternative HTML version deleted]]

