Learn R Programming

metaSEM (version 1.4.0)

matrix2bdiag: Convert a Matrix into a Block Diagonal Matrix

Description

It converts a matrix into a block diagonal matrix.

Usage

matrix2bdiag(x, ...)

Arguments

x

A \(k\) x \(p\) matrix of numerics or characters.

...

Further arguments to be passed to vec2symMat

Author

Mike W.-L. Cheung <mikewlcheung@nus.edu.sg>

Details

Each row of x is converted into a symmetric matrix via vec2symMat. Then the list of the symmetric matrices is converted into a block diagonal matrix via a function written by Scott Chasalow posted at http://www.math.yorku.ca/Who/Faculty/Monette/pub/stmp/0827.html.

See Also

vec2symMat

Examples

Run this code
(m1 <- matrix(1:12, ncol=6, byrow=TRUE))
#      [,1] [,2] [,3] [,4] [,5] [,6]
# [1,]    1    2    3    4    5    6
# [2,]    7    8    9   10   11   12

matrix2bdiag(m1)
#      [,1] [,2] [,3] [,4] [,5] [,6]
# [1,]    1    2    3    0    0    0
# [2,]    2    4    5    0    0    0
# [3,]    3    5    6    0    0    0
# [4,]    0    0    0    7    8    9
# [5,]    0    0    0    8   10   11
# [6,]    0    0    0    9   11   12

Run the code above in your browser using DataLab