[R] making matrix monotonous

Romain Francois francoisromain at free.fr
Wed Jun 7 12:54:25 CEST 2006


Le 07.06.2006 11:20, vincent at 7d4.com a écrit :
> Spencer Graves a écrit :
>
>   
>>       I agree it would be great to sort the variables in a correlation 
>> matrix to make it easier to read and see patterns.  I don't know any 
>> functions for doing that.  If it were my problem, I might "order" the 
>> variables by their first principal component.  There may also be some 
>> cluster analysis way to do that, but I don't know it well enough to say.
>>       Hope this helps.
>>       Spencer Graves
>>     
>
> Thanks for your answer Spencer.
>
> Here is a first result of a very simple and naive approach.
> http://7d4.com/r/
>
> Of course, there is no assumption the sorting is "optimal",
> but on this little example it helps the matrix being
> more readable.
>
> Vincent
>   
Hello Vincent,

Ahhh, the double for loop, the semicolon, the return call. you still 
believe in R code looking like C don't you.
Try this one :

matrix.sort2 <- function(M, fun = function(m) colSums(abs(m)) ){
  M[or <- order(fun(M) , decreasing=T), or]
}

Romain

-- 
visit the R Graph Gallery : http://addictedtor.free.fr/graphiques
mixmod 1.7 is released : http://www-math.univ-fcomte.fr/mixmod/index.php
+---------------------------------------------------------------+
| Romain FRANCOIS - http://francoisromain.free.fr               |
| Doctorant INRIA Futurs / EDF                                  |
+---------------------------------------------------------------+



More information about the R-help mailing list