Paul Geeleher
2008-May-19 11:06 UTC
[R] Sort matrix with duplicate row names alphabetically by rowname
Hi, I've a matrix that contains 4 replicates of each rowname. (4 a's, 4 b's, 4 c's in no particular order) Like this: # c 32 a 1 b 4 c 87 c 34 b 54 a 23 a 12 b 9 a 3 b 87 c 43 There are a couple of more columns but I'm using the above as an example I need to sort it so that the same rownames appear together in alpahbetical order. Like this: # a 1 a 23 a 12 a 3 b 4 b 54 b 9 b 87 c 87 c 34 c 43 c 32 The code I came up with is something like this: mat <- mat[sort(rownames(mat)), ] This doesn't work though, it returns the same value for each row each time, something like this: # a 1 a 1 a 1 a 1 b 4 b 4 b 4 b 4 c 32 c 32 c 32 c 32 Any ideas how I could get my code to distinguish between the different rows and get the output I'm looking for? Thanks, -Paul
john seers (IFR)
2008-May-19 11:24 UTC
[R] Sort matrix with duplicate row names alphabetically by rowname
Try: mat <- mat[order(rownames(mat)), ] --- -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Paul Geeleher Sent: 19 May 2008 12:07 To: r-help at r-project.org Subject: [R] Sort matrix with duplicate row names alphabetically by rowname Hi, I've a matrix that contains 4 replicates of each rowname. (4 a's, 4 b's, 4 c's in no particular order) Like this: # c 32 a 1 b 4 c 87 c 34 b 54 a 23 a 12 b 9 a 3 b 87 c 43 There are a couple of more columns but I'm using the above as an example I need to sort it so that the same rownames appear together in alpahbetical order. Like this: # a 1 a 23 a 12 a 3 b 4 b 54 b 9 b 87 c 87 c 34 c 43 c 32 The code I came up with is something like this: mat <- mat[sort(rownames(mat)), ] This doesn't work though, it returns the same value for each row each time, something like this: # a 1 a 1 a 1 a 1 b 4 b 4 b 4 b 4 c 32 c 32 c 32 c 32 Any ideas how I could get my code to distinguish between the different rows and get the output I'm looking for? Thanks, -Paul ______________________________________________ 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.
Petr PIKAL
2008-May-19 11:31 UTC
[R] Odp: Sort matrix with duplicate row names alphabetically by rowname
Hi r-help-bounces at r-project.org napsal dne 19.05.2008 13:06:33:> Hi, > > I've a matrix that contains 4 replicates of each rowname. (4 a's, 4 > b's, 4 c's in no particular order) Like this: > > > # > c 32 > a 1 > b 4 > c 87 > c 34 > b 54 > a 23 > a 12 > b 9 > a 3 > b 87 > c 43 > > > There are a couple of more columns but I'm using the above as an example > > I need to sort it so that the same rownames appear together in > alpahbetical order. Like this: > > # > a 1 > a 23 > a 12 > a 3 > b 4 > b 54 > b 9 > b 87 > c 87 > c 34 > c 43 > c 32 > > > The code I came up with is something like this: > > mat <- mat[sort(rownames(mat)), ]Quite close mat <- mat[order(rownames(mat)), ] Regards Petr> > This doesn't work though, it returns the same value for each row each > time, something like this: > > # > a 1 > a 1 > a 1 > a 1 > b 4 > b 4 > b 4 > b 4 > c 32 > c 32 > c 32 > c 32 > > Any ideas how I could get my code to distinguish between the different > rows and get the output I'm looking for? > > Thanks, > > -Paul > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.