Convert a List of Symmetric Matrices into a Stacked Matrix
It converts a list of symmetric matrices into a stacked matrix. Dimensions of the symmetric matrices have to be the same. It tries to preserve the dimension names if possible. Dimension names will be created if there are no dimension names in the first symmetric matrix.
list2matrix(x, diag = FALSE)
A k x p* stacked matrix where p*
= p(p-1)/2 for diag
=FALSE
or p* = p(p+1)/2 for diag
=TRUE
.
Mike W.-L. Cheung <mikewlcheung@nus.edu.sg>
C1 <- matrix(c(1,0.5,0.4,0.5,1,0.2,0.4,0.2,1), ncol=3) C2 <- matrix(c(1,0.4,NA,0.4,1,NA,NA,NA,NA), ncol=3) ## A list without dimension names list2matrix(list(C1, C2)) # x2_x1 x3_x1 x3_x2 # [1,] 0.5 0.4 0.2 # [2,] 0.4 NA NA dimnames(C1) <- list( c("x","y","z"), c("x","y","z") ) dimnames(C2) <- list( c("x","y","z"), c("x","y","z") ) ## A list with dimension names list2matrix(list(C1, C2)) # y_x z_x z_y # [1,] 0.5 0.4 0.2 # [2,] 0.4 NA NA
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.