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


В линейной алгебре единичная матрица представляет собой квадратную матрицу с единицами на главной диагонали и нулями повсюду.

Вы можете создать единичную матрицу в R, используя один из следующих трех методов:

#create identity matrix using diag()
diag(5)

#create identity matrix using diag() with explicit nrow argument
diag(nrow= 5 )

#create identity matrix by creating matrix of zeros, then filling diagonal with ones
mat <- matrix(0, 5, 5)
diag(mat) <- 1

Каждый из этих методов приводит к одному и тому же результату.

В следующих примерах показано, как использовать каждый из этих методов на практике.

Пример 1: Создание матрицы идентичности с помощью diag()

В следующем коде показано, как использовать функцию diag() для создания единичной матрицы с 5 строками и 5 столбцами:

#create 5x5 identity matrix
ident <- diag(5)

#view matrix
ident

 [,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

В результате получается квадратная матрица 5×5 с единицами на главной диагонали и нулями везде.

Пример 2. Создание матрицы идентичности с помощью diag(nrow)

В следующем коде показано, как использовать функцию diag(nrow) для создания единичной матрицы 5×5:

#create 5x5 identity matrix
ident <- diag(nrow= 5 )

#view matrix
ident

 [,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

Пример 3. Создание матрицы идентичности за два шага

В следующем коде показано, как создать единичную матрицу 5 × 5, сначала создав матрицу 5 × 5 со всеми нулями, а затем преобразовав значения главной диагонали в единицы:

#create 5x5 matrix with zeros in all positions
ident <- matrix(0, 5, 5)

#make diagonal values 1
diag(ident) <- 1

#view matrix
ident

 [,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

Обратите внимание, что каждый из трех методов создает одну и ту же единичную матрицу.

Дополнительные ресурсы

Следующие статьи содержат полезные сведения о матрице идентичности:

Академия Хана: введение в матрицу идентичности
Википедия: всестороннее объяснение матрицы идентичности

В следующих статьях объясняется, как выполнять другие распространенные матричные операции в R:

Как выполнить умножение матриц в R
Как выполнить поэлементное умножение в R
Как построить строки матрицы в R