[R] matrix manipulations

David Andel andel at ifi.unizh.ch
Tue Jul 15 18:51:43 CEST 2003


Hi

cor(x,apply(x,1,sum)) gives me the correlations of each column with the sums of each row (correct me if I'm wrong, please).

What I need are the correlations of each column with the sums of each row except the entry in the given column. It seems that for any one column i I get it by doing:

cor(x[,i],apply(x[,-i],1,sum))

But I struggle to get it for all the columns. I was trying things like:

for(i in 1:ncol(x)) cor(x[,i],apply(x[,-i],1,sum))

which doesn't generate any output at all, and

> rbind(for(i in 1:ncol(x)) cor(x[,i],apply(x[,-i],1,sum)))
          [,1]
[1,] 0.1880237

outputs just the result of the very last column.

I know that it shouldn't be necessary to use for(), but I couldn't figure out a way how to do the task using e.g. apply().

How do you get the results of all columns?

Thank you,
David




More information about the R-help mailing list