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 で行列の行をプロットする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です