Как создать матрицу идентичности в R?
В этой статье мы обсудим, как создать матрицу идентичности на языке программирования R.
Единичные матрицы — это матрицы, содержащие все нули, кроме диагональных элементов, которые эквивалентны 1. Единичные матрицы всегда имеют квадратную форму. Base R предоставляет большое количество методов для создания и определения матриц идентичности в R:
Способ 1: Использование метода диагностики
Метод diag() в базе R используется для создания квадратной матрицы с указанными размерами. Диагонали присваивается значение 1, а всем остальным элементам присваивается значение 0.
Синтаксис :
diag(num)
где, num – число, эквивалентное количеству строк и столбцов матрицы.
Пример :
R
# creating a diagonal matrix with # dimensions 3 x 3 diag_mat < - diag (3) # printing identity matrix print ( "Identity Matrix" ) print (diag_mat) |
Выход:
[1] "Identity Matrix" [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1
Способ 2: использование метода diag(nrow)
Метод diag(nrow) можно использовать для указания количества строк единичной матрицы. Он присваивает количество столбцов, эквивалентное указанному количеству строк.
Синтаксис :
diag(nrow = )
куда, nrow – количество строк единичной матрицы
Пример :
R
# creating a diagonal matrix with # dimensions 7 x 7 diag_mat < - diag (nrow=7) # printing identity matrix print ( "Identity Matrix" ) print (diag_mat) |
Выход:
[1] "Identity Matrix" > print(diag_mat) [,1] [,2] [,3] [,4] [,5] [,6] [,7] [1,] 1 0 0 0 0 0 0 [2,] 0 1 0 0 0 0 0 [3,] 0 0 1 0 0 0 0 [4,] 0 0 0 1 0 0 0 [5,] 0 0 0 0 1 0 0 [6,] 0 0 0 0 0 1 0 [7,] 0 0 0 0 0 0 1
Способ 3: Создание матрицы нулей и последующее присвоение диагоналей единице
Метод matrix() в R можно использовать для создания матрицы с указанным значением и присвоения ее количеству объявленных строк и столбцов матрицы.
Синтаксис :
matrix ( val , rows, cols)
Параметры:
- val — значение, которое будет присвоено всем ячейкам
- rows – Строки единичной матрицы
- cols – Столбцы единичной матрицы
Пример :
Сначала мы создаем матрицу из 0, а затем диагонали присваиваются 1 с помощью метода diag(), определенного ранее.
R
# defining number of rows and columns row < - 6 col < - 6 # creating a diagonal matrix with # dimensions 6 x 6 diag_mat < - matrix (0, row, col) # specifying the diagonal value to be 1 diag (diag_mat) < - 1 # printing identity matrix print ( "Identity Matrix" ) print (diag_mat) |
Выход:
[1] "Identity Matrix" > print(diag_mat) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 0 0 0 0 0 [2,] 0 1 0 0 0 0 [3,] 0 0 1 0 0 0 [4,] 0 0 0 1 0 0 [5,] 0 0 0 0 1 0 [6,] 0 0 0 0 0 1