[R] Help creating a correlation matrix

Moshe Olshansky m_olshansky at yahoo.com
Wed May 21 08:01:12 CEST 2008


Hi,

I tried the following one:
z <- outer(1:14,1:14,function(i,j)
eval(parse(text=paste("cor(D2_",i,",D2_",j,")",sep=""))))

but this doen not work (why?).

Two alternatives which work are either

x <- matrix(0,length(D2_1,14)
for (i in 1:14) x[,i] <-
eval(parse(text=paste("D2_",i,sep="")))
z <- cor(x)

or

z <- diag(14)
for (i in 1:14) for (j in 1:14) z[i,j] <-
eval(parse(text=paste("cor(D2_",i,",D2_",j,")",sep="")))


--- Robert O'Brien <dinklemus_littlelog at yahoo.com>
wrote:

> Hello all. I have 14 variables, named D2_1,
> D2_2,...,D2_14 (inherited from a data set). I would
> like to create a matrix of correlations, although I
> would be content in just learning how to create a
> proper do loop. I tried something like this:
> 
> 
> (for i in 1:14){cor(D2_[i],D2_[i], use =
> "complete.obs")}
> 
> This is wrong, of course, but I don't know how to
> "tell" R to run through D2_1, D2_2,...,D2_14 giving
> me
> the correlations for each pair. 
> 
> Any help or hints would be appreciated.
> 
> Sincerely,
> 
> Robert O'Brien
> 
> ______________________________________________
> R-help at 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.
>



More information about the R-help mailing list