Как я могу сделать одинаковую матрицу с вектором столбца? - PullRequest
0 голосов
/ 30 апреля 2018

У меня есть вектор столбца с размерами 4000x1, и мне нужно сделать матрицу с этим вектором, но матрица должна иметь вектор столбца в виде диагонали, а остальные числа - в ноль. Примерно так:

Столбец Вектор

> vector <- matrix(c(1:5), ncol=1, nrow=5)
> vector
 [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4

Матрица

   [,1] [,2] [,3]  [,4] 
a    1    0    0    0        
b    0    2    0    0        
c    0    0    3    0    

Как я могу произвести этот вывод?

1 Ответ

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

Звучит как функция diag(), например,

> my_vect <- 1:5
> diag(my_vect)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    2    0    0    0
[3,]    0    0    3    0    0
[4,]    0    0    0    4    0
[5,]    0    0    0    0    5

Кстати, как вы уже написали, vector на самом деле является матрицей 5x1, поэтому вам нужно будет преобразовать ее, в общем, в вектор:

> diag(as.vector(vector))
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    2    0    0    0
[3,]    0    0    3    0    0
[4,]    0    0    0    4    0
[5,]    0    0    0    0    5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...