[R] Rank Values in a Matrix

Naira Naouar
Mon, 19 May 2008 12:15:17 -0000

Hi Jens,

If the matrix you described is m.

Then, you can do
 > unique(as.vector(m))
[1]   0.1   2.0   0.0   3.0  50.0   1.0 100.0
 > order(unique(as.vector(m)))
[1] 3 1 6 2 4 5 7

Hope this helps :)

Naira

Jens Oldeland wrote:
> Dear All,
>
> a short and maybe simple question:
>
>
> I have to rank all values in a matrix from 0 to X,
>
>    [1]   [2] [3]  [4]
> [1] 0.1  2   0    3
> [2] 50   3   3    1
> [3] 100 1   1    0
> [4] 100  2  2    0
>
> 0->0
> 0.1->1
> 2->2
> 3->3
> 50->4
> 100->5  (X=5)
>
> is there any function for this? i have looked in several packages
> (vegan, labdsv etc.) because I am working with species by site tables,
> but without success. perhaps I looked for the wrong terms (rank matrix
> etc.)
>
> thank you for your help
>
> regards,
> Jens
>


--
=================================================================Naira Naouar

Tel:+32 (0)9 331 38 63
VIB Department of Plant Systems Biology, Ghent University
Technologiepark 927, 9052 Gent, BELGIUM
nanao at psb.ugent.be                         http://www.psb.ugent.be