Here's a simple example that might help you get what you want:

set.seed(1)
x <- matrix(rnorm(30), ncol=3, dimnames=list(NULL, letters[1:3]))
(xc <- cor(x))
          a          b          c
a  1.0000000 -0.3767034 -0.7158385
b -0.3767034  1.0000000  0.6040273
c -0.7158385  0.6040273  1.0000000
(cd <- data.frame(elt=outer(colnames(xc), colnames(xc), paste, 
sep=":")[upper.tri(xc)], row=row(xc)[upper.tri(xc)], col=col(xc)[upper.tri(xc)], 
cor=xc[upper.tri(xc)]))
 elt row col        cor
1 a:b   1   2 -0.3767034
2 a:c   1   3 -0.7158385
3 b:c   2   3  0.6040273
cd[order(-cd$cor),]
 elt row col        cor
3 b:c   2   3  0.6040273
1 a:b   1   2 -0.3767034
2 a:c   1   3 -0.7158385


If you need something more efficient, try using which(..., arr.ind) to pick out 
matrix style indices, e.g.:
(ii <- which(xc > -0.4 & upper.tri(xc), arr.ind=T))
 row col
a   1   2
b   2   3
cbind(ii, cor=xc[ii])
 row col        cor
a   1   2 -0.3767034
b   2   3  0.6040273


-- Tony Plate

Lee William wrote:
Hi! All,
I am working on a correlation matrix of 4217x4217 named 'cor_expN'. I wish
to obtain pairs with highest correlation values. So, I did this
b=matrix(data=NA,nrow=4217,ncol=1)
rownames(b)=rownames(cor_expN)
for(i in 1:4217){b[i,]=max(cor_expN[i,])}
head(b)
                   [,1]
aaeA_b3241_14 0.7181912
aaeB_b3240_15 0.7513084
aaeR_b3243_15 0.7681684
aaeX_b3242_12 0.5230587
aas_b2836_14   0.6615927
aat_b0885_14    0.6344144

Now I want the corresponding columns for the above values. For that I tried
this
c=matrix(data=NA,nrow=4217,ncol=1)
for(i in 1:4217){b[i,]=colnames(max(cor_expN[i,]))}

And got the following error:
Error in b[i, ] = colnames(max(cor_expN[i, ])) : number of items to replace
is not a multiple of replacement length
Any thoughts?

Lee

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to