"Haynes, Maurice (NIH/NICHD)" <[EMAIL PROTECTED]> writes: > If the vector of variances were > var.vec <- c(14, 12, 7) > and the vector of correlations were > cor.vec <- c(.4, .2, .5), > then the vector of covariances would be: > > covAB(c(.4, .2, .5),c(14, 14, 12), c(12, 7, 7)) > [1] 5.184593 1.979899 4.582576 > > > and the variance-covariance matrix with covariances rounded to > the first decimal place would be: > > vmat <- matrix(c(14, 5.2, 2.0, 5.2, 12, 4.6, 2.0, 4.6, 7), > + nrow=3) > > vmat > [,1] [,2] [,3] > [1,] 14.0 5.2 2.0 > [2,] 5.2 12.0 4.6 > [3,] 2.0 4.6 7.0 > >
# First fill in the correlation matrix: V <- matrix(NA,3,3) diag(V) <- 1 V[lower.tri(V)] <- c(.4, .2, .5) V[upper.tri(V)] <- t(V)[upper.tri(V)] # then scale rows and columns D <- diag(sqrt( c(14, 12, 7))) D %*% V %*% D # or, more efficiently s <- sqrt( c(14, 12, 7)) sweep(sweep(V,1,s,"*"),2,s,"*") -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [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