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