Блочная сумма матрицы - PullRequest
       9

Блочная сумма матрицы

0 голосов
/ 30 апреля 2018

Я хочу сделать что-то похожее на блочную сумму матричных элементов , но с произвольным заданным шаблоном разреза. Например, если строки разделены как row_split = list(block_1=1, block_2=2:3, block_3=4), столбцы разделены как col_split = list(block_1=1:3, block_2=4), то на выходе получится матрица 2x3, где каждый элемент представляет собой блочную сумму.

Есть идеи, чтобы сделать это?

1 Ответ

0 голосов
/ 01 мая 2018

Простое заявление vapply должно сработать:

vapply(row_split,function(x){
    a<-numeric(4)
    a[x]=1
    a
},numeric(4))

Результат:

     block_1 block_2 block_3
[1,]       1       0       0
[2,]       0       1       0
[3,]       0       1       0
[4,]       0       0       1

Вам нужно будет перенести один из них, но это должно сработать.

...