У меня есть матрица 2X2, например A=matrix(1:4,2,2)
. С этой матрицей я хочу построить матрицу, диагональным элементом которой является A, как показано ниже. Этот пример имеет только три А, но я хотел бы сделать матрицу с п диагональный элемент матрицы АСоздать матрицу с диагональным элементом - это матрица в r
|A 0 0|
|0 A 0|
|0 0 A|
см пакет Matrix ... 'bdiag':' bdiag (респ (список (A), 3)) '' – user20650
п <- 3; nr <- nrow (A); ii <- vapply (1: n, function (x) row (A) + (x - 1L) * nr, integer (nr^2)); \ '[<- \' (матрица (0, nr * n, nr * n), cbind (c (ii), sort (ii)), rep (A, n)) 'будет работать для квадратных матриц. – rawr