У меня есть матрица с диагоналями, равными нулю, и недиагональными, равными единице (обратная к единичной матрице):
mat1 <- matrix(c(0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0), 5, 5)
У меня также есть вектор, который всегда имеет ту же длину, что и матрицы, и всегда начинается с нуля:
vec1 <- c(0,1,2,3,4)
используя эти два объекта, я хочу создать матрицу, которая выглядит следующим образом:
mat2 <- matrix(c(0,1,2,3,4,1,0,1,2,3,2,1,0,1,2,3,2,1,0,1,4,3,2,1,0), 5, 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 2 3 4
[2,] 1 0 1 2 3
[3,] 2 1 0 1 2
[4,] 3 2 1 0 1
[5,] 4 3 2 1 0
Мне нужна операция, которая будет обобщаться так, чтобы, например, если у меня есть матрица dims 9 на 9 и вектор 0: 8, я смог бы получить эквивалентный результат. Есть идеи как подойти к этому?