【Rによるデータサイエンス】行列演算

◎行列作成
ベクトル関数cを使用してベクトルを作成し、matrix演算子を適用する。

> A<-matrix(c(1,2,1,4),2,2)
> A
     [,1] [,2]
[1,]    1    1
[2,]    2    4

◎行列の積演算
%*%で行列の積演算を行う。

> A<-matrix(c(1,2,1,4),2,2)
> A
     [,1] [,2]
[1,]    1    1
[2,]    2    4
> D<-matrix(c(4,2,3,4,2,1),2,3)
> A%*%D
     [,1] [,2] [,3]
[1,]    6    7    3
[2,]   16   22    8
> 

◎対角行列の作成
対角要素以外のすべての要素が0である行列を対角行列と呼ぶ。
行列の要素を保持するベクトルに対してdiag関数を適用させて得る。

> diag(c(1,2,3))
     [,1] [,2] [,3]
[1,]    1    0    0
[2,]    0    2    0
[3,]    0    0    3
> diag(c(1,2,3,4))
     [,1] [,2] [,3] [,4]
[1,]    1    0    0    0
[2,]    0    2    0    0
[3,]    0    0    3    0
[4,]    0    0    0    4
> 

逆行列の計算
solve関数で可能。

> solve(A)
     [,1] [,2]
[1,]    2 -0.5
[2,]   -1  0.5
> A%*%solve(A)
     [,1] [,2]
[1,]    1    0
[2,]    0    1