[R] Newbie: Matrix indexing

From: Pascal BLEUYARD <p.bleuyard_at_opgc.univ-bpclermont.fr>
Date: Tue 22 Mar 2005 - 21:26:26 EST


Hi all,

  I need to compute some "occurence matrix": given a zero matrix and a set of paired indexes, I want to store the number of occurences of each paired index in a matrix. The paired indexes are stores as an index matrix. I prefere not to use loops for performances purpose.

  Here follows a dummy example:

> occurence <- matrix(0, 2, 2); data

     [,1] [,2]
[1,] 0 0
[2,] 0 0

>
> index <- matrix(1, 3, 2); index

     [,1] [,2]
[1,] 1 1
[2,] 1 1
[3,] 1 1
>
> occurence[index] <- occurence[index] + 1

  I was expecting the folowing result:

> occurence

     [,1] [,2]
[1,] 3 0
[2,] 0 0

  I get instead:

> occurence

     [,1] [,2]
[1,] 1 0
[2,] 0 0

  I guess that there is some "hidden copy" involved but I wanted to know if there is an efficient workaround (not using some loop structure). I thought "factors" could do the job but I didn't manage to use them for that problem.



Pascal BLEUYARD
Laboratoire de Météorologie Physique (LaMP) OPGC, Université Blaise Pascal
24, avenue des Landais
63177 AUBIERE CEDEX
Tél : 04 73 40 73 75
Fax : 04 73 40 51 36
Mél : P.Bleuyard@opgc.univ-bpclermont.fr

R-help@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 Received on Tue Mar 22 21:35:34 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:52 EST