On Wed, 2005-04-13 at 21:09 -0500, Chris Bergstresser wrote: > Hi all -- > > Quick (I hope) question: I've got a correlation matrix. Is there a > quick way to find all the row/column names for those correlations higher > than some value, like 0.4?
> mat <- cor(matrix(rnorm(100), ncol = 5)) > mat [,1] [,2] [,3] [,4] [,5] [1,] 1.00000000 0.08406738 -0.18412634 -0.15484250 0.18975606 [2,] 0.08406738 1.00000000 0.06242012 0.44583819 -0.03338074 [3,] -0.18412634 0.06242012 1.00000000 0.01045560 0.16876206 [4,] -0.15484250 0.44583819 0.01045560 1.00000000 0.26283234 [5,] 0.18975606 -0.03338074 0.16876206 0.26283234 1.00000000 # Get row/col positions > which(mat > 0.4, arr.ind = TRUE) row col [1,] 1 1 [2,] 2 2 [3,] 4 2 [4,] 3 3 [5,] 2 4 [6,] 4 4 [7,] 5 5 # Get the actual values > mat[which(mat > 0.4, arr.ind = TRUE)] [1] 1.0000000 1.0000000 0.4458382 1.0000000 0.4458382 1.0000000 [7] 1.0000000 See ?which for more information. HTH, Marc Schwartz ______________________________________________ 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