Is something missing in the melt()? > x<-data.frame(x1=c(1,7),x2=c(4,6),x3=c(8,2)) > require("reshape") Loading required package: reshape > dfm <- melt(x, id = c()) Error in if (!missing(id.var) && !(id.var %in% varnames)) { : missing value where TRUE/FALSE needed > dfm[order(dfm$value), ] Error: object "dfm" not found > x x1 x2 x3 1 1 4 8 2 7 6 2 > melt(x, id = c()) Error in if (!missing(id.var) && !(id.var %in% varnames)) { : missing value where TRUE/FALSE needed >
Steve McKinney -----Original Message----- From: [EMAIL PROTECTED] on behalf of hadley wickham Sent: Mon 9/22/2008 5:47 PM To: zhihuali Cc: [EMAIL PROTECTED] Subject: Re: [R] sort a data matrix by all the values and keep the names On Mon, Sep 22, 2008 at 6:54 PM, zhihuali <[EMAIL PROTECTED]> 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? Here's one way: dfm <- melt(x, id = c()) dfm[order(dfm$value), ] Hadley -- http://had.co.nz/ ______________________________________________ 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.