Hi all,
I would like to know how can I sort the cols of a matrix by the sum of
their elements.
a <- matrix(as.integer(rnorm(25,4,2)),10,5)
colnames(a) =
c("alfa","bravo","charlie","delta","echo")
I guess I should use colSums, and then rearrange the matrix somehow
according to the result.
My idea is to display a "sorted" barplot:
barplot(a, horiz=TRUE, legend.text=T)
Thanks in advance,
Albert.
probably you're looking for ?order(), e.g.,
barplot(a[, order(colSums(a))], horiz = TRUE, legend.text = TRUE)
I hope it helps.
Best,
Dimitris
----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven
Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
http://www.student.kuleuven.be/~m0390867/dimitris.htm
----- Original Message -----
From: "Albert Vilella" <avilella at gmail.com>
To: "r help" <r-help at stat.math.ethz.ch>
Sent: Wednesday, June 21, 2006 12:38 PM
Subject: [R] sort matrix by sum of columns
> Hi all,
>
> I would like to know how can I sort the cols of a matrix by the sum
> of
> their elements.
>
>
> a <- matrix(as.integer(rnorm(25,4,2)),10,5)
> colnames(a) =
c("alfa","bravo","charlie","delta","echo")
>
> I guess I should use colSums, and then rearrange the matrix somehow
> according to the result.
>
> My idea is to display a "sorted" barplot:
>
> barplot(a, horiz=TRUE, legend.text=T)
>
> Thanks in advance,
>
> Albert.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
Hi order is your friend On 21 Jun 2006 at 11:38, Albert Vilella wrote: From: Albert Vilella <avilella at gmail.com> To: r help <r-help at stat.math.ethz.ch> Date sent: Wed, 21 Jun 2006 11:38:17 +0100 Subject: [R] sort matrix by sum of columns Send reply to: avilella at gmail.com <mailto:r-help-request at stat.math.ethz.ch?subject=unsubscribe> <mailto:r-help-request at stat.math.ethz.ch?subject=subscribe>> Hi all, > > I would like to know how can I sort the cols of a matrix by the sum of > their elements. > > > a <- matrix(as.integer(rnorm(25,4,2)),10,5) > colnames(a) = c("alfa","bravo","charlie","delta","echo")ord<-order(colSums(a)) barplot(a[,ord], horiz=TRUE, legend.text=T) HTH Petr> > > I guess I should use colSums, and then rearrange the matrix somehow > according to the result. > > My idea is to display a "sorted" barplot: > > barplot(a, horiz=TRUE, legend.text=T) > > Thanks in advance, > > Albert. > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.htmlPetr Pikal petr.pikal at precheza.cz
Albert
Is this what you want?:
a[,order(colSums(a))]
John S
---
-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Albert Vilella
Sent: 21 June 2006 11:38
To: r help
Subject: [R] sort matrix by sum of columns
Hi all,
I would like to know how can I sort the cols of a matrix by the sum of
their elements.
a <- matrix(as.integer(rnorm(25,4,2)),10,5)
colnames(a) =
c("alfa","bravo","charlie","delta","echo")
I guess I should use colSums, and then rearrange the matrix somehow
according to the result.
My idea is to display a "sorted" barplot:
barplot(a, horiz=TRUE, legend.text=T)
Thanks in advance,
Albert.
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html