Как создать матрицу идентичности в R?

Опубликовано: 11 Сентября, 2022

В этой статье мы обсудим, как создать матрицу идентичности на языке программирования 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