Hi Pascal, One thing you can do is to work on indexes, count unique occurences and assign them, as following:
> index <- as.data.frame(table(index[,1],index[,2])) > index <- do.call("cbind",lapply(index, as.numeric)) # ensures numeric coding (as table turns into factors) > occurence[index[,1:2]] <- index[,3] > occurence [,1] [,2] [1,] 3 0 [2,] 0 0 Eric Eric Lecoutre UCL / Institut de Statistique Voie du Roman Pays, 20 1348 Louvain-la-Neuve Belgium tel: (+32)(0)10473050 [EMAIL PROTECTED] http://www.stat.ucl.ac.be/ISpersonnel/lecoutre If the statistics are boring, then you've got the wrong numbers. -Edward Tufte > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Pascal BLEUYARD > Sent: mardi 22 mars 2005 11:26 > To: r-help@stat.math.ethz.ch > Subject: [R] Newbie: Matrix indexing > > > 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 : [EMAIL PROTECTED] > > ______________________________________________ > 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 > ______________________________________________ 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