Good morning ! Today I found a strange, for my poor knowledge of R, behaviour of 'which' on a matrix:
HAL9000> str(cluster.matrix) num [1:227, 1:6300] 2 2 2 2 2 2 2 2 2 2 ...
HAL9000> class(cluster.matrix) [1] "matrix"
HAL9000> ase <- cluster.matrix[1:5,1:5]
HAL9000> ase [,1] [,2] [,3] [,4] [,5] [1,] 2 2 2 0 -2 [2,] 2 2 2 0 -2 [3,] 2 2 2 0 -2 [4,] 2 2 2 0 -2 [5,] 2 2 2 0 -2
HAL9000> ase2 <- matrix(c(2,2,2,2,2)%*%t(c(1,1,1,0,-1)),5,5)
HAL9000> ase2 [,1] [,2] [,3] [,4] [,5] [1,] 2 2 2 0 -2 [2,] 2 2 2 0 -2 [3,] 2 2 2 0 -2 [4,] 2 2 2 0 -2 [5,] 2 2 2 0 -2
HAL9000> str(ase2) num [1:5, 1:5] 2 2 2 2 2 2 2 2 2 2 ...
But now:
HAL9000> which(ase2==-2,arr.ind=T) row col [1,] 1 5 [2,] 2 5 [3,] 3 5 [4,] 4 5 [5,] 5 5
HAL9000> which(ase==-2,arr.ind=T) numeric(0)
which(ase=="-2",arr.ind=T) row col [1,] 1 5 [2,] 2 5 [3,] 3 5 [4,] 4 5 [5,] 5 5
May be the original matrix 'cluster.matrix' is not properly a numerical matrix!? But 'str' say num[...] !!?? Some suggestion.
My guess is that cluster.matrix, hence ase, has been generated in some calculation, and its numerical floating point representation is a bit off the expected integer. Use identical(), all.equal() and friends to analyse it.
Uwe Ligges
Tks!
A.S.
----------------------------
Alessandro Semeria Models and Simulations Laboratory Montecatini Environmental Research Center (Edison Group), Via Ciro Menotti 48, 48023 Marina di Ravenna (RA), Italy Tel. +39 544 536811 Fax. +39 544 538663 E-mail: [EMAIL PROTECTED]
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
