Ответ 1
одно (два) использования для diag
, когда указано nrow
или когда x
- вектор длины один, вы получаете идентификационную матрицу
diag(5)
diag(nrow = 5)
или вы можете создать матрицу из 0s и заполнить диагональ:
mat <- matrix(0, 5, 5)
diag(mat) <- 1
## or shorter:
`diag<-`(matrix(0, 5, 5), 1)
Все это дает мне:
# [,1] [,2] [,3] [,4] [,5]
# [1,] 1 0 0 0 0
# [2,] 0 1 0 0 0
# [3,] 0 0 1 0 0
# [4,] 0 0 0 1 0
# [5,] 0 0 0 0 1