>>>>> Suyan Tian <st...@mail.rockefeller.edu> >>>>> on Tue, 22 Oct 2013 01:18:10 +0000 writes:
> Sorry to bother, I want to construct a correlation matrix > in multivariate regression (several dependent variables > and they are correlated in some ways) like the followings, > 1 0.8 0 0 … 0 0 > 0.8 1 0 0 … 0 0 > 0 0 1 0.8 … 0 0 > 0 0 0.8 1 … 0 0 > . . . . …. > . . . . > 0 0 1 0.8 > 0 0 0.8 1 > Does anyone know how to do it? Of course, with many such problems in R, there are *many* ways. I believe one of the nicest ways here is to use toeplitz() : n <- 12 ## or whatever your n is toeplitz(c(1,0.8, rep(0, n-2))) Note that for larger n, under some circumstances it may be beneficial to use the Matrix package and its *sparse* matrices, e.g., > require(Matrix) > n <- 12; toeplitz(as(c(1,0.8, rep(0, n-2)), "sparseVector")) 12 x 12 sparse Matrix of class "dsCMatrix" [1,] 1.0 0.8 . . . . . . . . . . [2,] 0.8 1.0 0.8 . . . . . . . . . [3,] . 0.8 1.0 0.8 . . . . . . . . [4,] . . 0.8 1.0 0.8 . . . . . . . [5,] . . . 0.8 1.0 0.8 . . . . . . [6,] . . . . 0.8 1.0 0.8 . . . . . [7,] . . . . . 0.8 1.0 0.8 . . . . [8,] . . . . . . 0.8 1.0 0.8 . . . [9,] . . . . . . . 0.8 1.0 0.8 . . [10,] . . . . . . . . 0.8 1.0 0.8 . [11,] . . . . . . . . . 0.8 1.0 0.8 [12,] . . . . . . . . . . 0.8 1.0 > Best regards, Martin Maechler, ETH Zurich ______________________________________________ R-help@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.