Greg, in light of Doug Bates' question, what i have suggested a little early in
response to your question is known as a Wishart matrix with n degree of
freedom, which is guarenteed to be positive definite. If this is not what you
want, you have to be more specific about the property of this correlation
matrix you want to simulate.
H.
=====================================
Greg,
I take it that you're trying to generate a random correlation matrix, so first
create a covariance matrix,
p = 6
v = matrix(rnorm(p*p), ncol=p)
cov = t(v) %*% v
Then convert it to a correlation matrix,
cov2cor(cov)
HTH.
Horace
>>> Gregory Gentlemen <[EMAIL PROTECTED]> 7/29/2007 7:31:36 PM >>>
Greetings,
I have a seemingly simple task which I have not been able to solve today and I
checked all of the help archives on this and have been unable to find anything
useful. I want to construct a symmetric matrix of arbtriray size w/o using
loops. The following I thought would do it:
p <- 6
Rmat <- diag(p)
dat.cor <- rnorm(p*(p-1)/2)
Rmat[outer(1:p, 1:p, "<")] <- Rmat[outer(1:p, 1:p, ">")] <- dat.cor
However, the problem is that the matrix is filled by column and so the
resulting matrix is not symmetric.
I'd be grateful for any adive and/or solutions.
Gregory
---------------------------------
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.
______________________________________________
[email protected] 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.