>>>>> 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.

Reply via email to