У меня есть вектор
vector= c(4,6,2,9)
Мне нужно получить диагональную матрицу, похожую на эту (второй столбец должен содержать вектор, прокручиваемый вниз на один элемент, третий - на два элемента и т. Д.):
4 0 0 0
6 4 0 0
2 6 4 0
9 2 6 4
Как я мог понять, я должен использовать upper.tri.
Я попробовал это:
vector = c(4,6,2,9)
vector_length=length(a)
MATRIX= matrix(0, vector_length, vector_length)
MATRIX[!upper.tri(MATRIX)]=vector
MATRIX
и потерпел неудачу, потому что результат был
[,1] [,2] [,3] [,4]
[1,] 4 0 0 0
[2,] 6 4 0 0
[3,] 2 6 9 0
[4,] 9 2 4 6
Как правильно использовать эту функцию?И как мне решить мою проблему?