The solution given by Jim is more correct dd[order(as.numeric(substr(dd$b,4,5))),]
regards M jim holtman a écrit :
ddb x y z 1 chr2 A 8 1 2 chr1 D 3 1 3 chr15 A 9 1 4 chr13 C 9 2# add column with just numbers dd$sort <- as.integer(gsub("\\D+", "", dd$b)) dd[order(dd$sort),] # notice it is a numeric, not character orderb x y z sort 2 chr1 D 3 1 1 1 chr2 A 8 1 2 4 chr13 C 9 2 13 3 chr15 A 9 1 15On Thu, May 20, 2010 at 8:28 AM, Yuan Jian <[email protected]> wrote:Hello, I have a dataframe: dd <- data.frame(b = c("chr2", "chr1", "chr15", "chr13"), x = c("A", "D", "A", "C"), y = c(8, 3, 9, 9), z = c(1, 1, 1, 2))ddb x y z 1 chr2 A 8 1 2 chr1 D 3 1 3 chr15 A 9 1 4 chr13 C 9 2 Now I want to sort them according column "b", but only its number is considered: b x y z 1 chr1 D 3 1 2 chr13 C 9 2 3 chr15 A 9 1 4 chr2 A 8 1 thanks jian [[alternative HTML version deleted]] ______________________________________________ [email protected] 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.
______________________________________________ [email protected] 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.

