【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