David,
I am not sure if it can be done in a vectorized form, but this should work
y <- NULL
for(i in 1:ncol(x)) y <- c(y, cor(x[,i],apply(x[,-i],1,sum)))
Cheers,
Andy
__________________________________
Andy Jaworski
Engineering Systems Technology Center
3M Center, 518-1-01
St. Paul, MN 55144-1000
-----
E-mail: [EMAIL PROTECTED]
Tel: (651) 733-6092
Fax: (651) 736-3122
|---------+-------------------------------->
| | "David Andel" |
| | <[EMAIL PROTECTED]> |
| | Sent by: |
| | [EMAIL PROTECTED]|
| | ath.ethz.ch |
| | |
| | |
| | 07/15/2003 11:51 |
| | |
|---------+-------------------------------->
>-----------------------------------------------------------------------------------------------------------------------------|
|
|
| To: [EMAIL PROTECTED]
|
| cc:
|
| Subject: [R] matrix manipulations
|
>-----------------------------------------------------------------------------------------------------------------------------|
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
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help