R で恒等行列を作成する方法 (例付き)
線形代数では、恒等行列は主対角に 1 があり、それ以外の場所に 0 がある正方行列です。
R で単位行列を作成するには、次の 3 つの方法のいずれかを使用します。
#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 identity [,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
結果は、主対角に 1 があり、それ以外の場所に 0 がある 5×5 の正方行列になります。
例 2: diag(nrow) を使用して単位行列を作成する
次のコードは、diag(nrow) 関数を使用して 5×5 単位行列を作成する方法を示しています。
#create 5x5 identity matrix ident <- diag(nrow= 5 ) #view matrix identity [,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: 2 つのステップで単位行列を作成する
次のコードは、最初にすべて 0 の 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
identity
[,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 つの方法はそれぞれ、まったく同じ単位行列を生成することに注意してください。
追加リソース
次の記事では、単位行列についての役立つ紹介を提供します。
カーン アカデミー: アイデンティティ マトリックスの概要
Wikipedia: 恒等行列の完全な説明
次の記事では、R で他の一般的な行列演算を実行する方法について説明します。
Rで行列乗算を実行する方法
Rで要素による乗算を実行する方法
R で行列の行をプロットする方法