# [R] pair-wise computation of columns in a matrix

arun smartpink111 at yahoo.com
Sun Jan 26 16:57:22 CET 2014

```Hi,
Try:
indx<- combn(ncol(uu),2)
sapply(seq_len(ncol(indx)),function(i) rho(uu[,indx[1,i]],uu[,indx[2,i]]))
#  0.9746318 0.9594119 0.9512583 0.9462555 0.9981909 0.9961499 0.9946367
#  0.9996186 0.9990560 0.9998746
A.K.

On Sunday, January 26, 2014 10:04 AM, Kathryn Lord <kathryn.lord2000 at gmail.com> wrote:
Dear R users,

I'd like to compute "rho"(looks like a correlation matrix) with every two
columns of "uu" matrix below.

Toy example,

> uu <- matrix(1:15, nr=3, nc=5)
> uu
[,1] [,2] [,3] [,4] [,5]
[1,]    1    4    7   10   13
[2,]    2    5    8   11   14
[3,]    3    6    9   12   15

rho <- function(x,y)
{
sum(x*y)/(sqrt(sum(x^2))*sqrt(sum(y^2)))
}

rho_12 <- rho(uu[,1],uu[,2])
rho_13 <- rho(uu[,1],uu[,3])
rho_14 <- rho(uu[,1],uu[,4])
rho_15 <- rho(uu[,1],uu[,5])

rho_23 <- rho(uu[,2],uu[,3])
rho_24 <- rho(uu[,2],uu[,4])
rho_24 <- rho(uu[,2],uu[,5])

rho_34 <- rho(uu[,3],uu[,4])
rho_35 <- rho(uu[,3],uu[,5])

rho_45 <- rho(uu[,4],uu[,5])

Actually, the matrix uu is huge, 20*1000.  Would you plz tell me how to
calculate "rho", more efficiently??

Any suggestion will be greatly appreciated.

Best,

Kathryn Lord

[[alternative HTML version deleted]]

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help