HOWTO · R
R の逆行列
このチュートリアルでは、R で逆行列を見つける方法を示します。
R で逆数を計算するには 2つの方法があります。1つ目はベース R の solve 関数で、もう 1つは matlib ライブラリの inv() メソッドです。 このチュートリアルでは、R で逆行列を見つける両方の方法を示します。
Solve を使用して、R で逆行列を見つける
solve() メソッドは行列をパラメータとして取り、与えられた行列の逆行列を出力します。 例を参照してください:
x1 <- c(10, 8, 4)
x2 <- c(7, 9, 3)
x3 <- c(11, 2, 5)
# bind the matrix
A <- rbind(x1, x2, x3)
# the original matrix
print(A)
# calculate the inverse.
Inverse_Matrix <- solve(A)
# the inverse of the matrix.
print(Inverse_Matrix)
上記のコードは、solve() を使用して与えられた行列の逆行列を計算します。 出力を参照してください:
[,1] [,2] [,3]
x1 10 8 4
x2 7 9 3
x3 11 2 5
x1 x2 x3
[1,] 1.14705882 -0.9411765 -0.35294118
[2,] -0.05882353 0.1764706 -0.05882353
[3,] -2.50000000 2.0000000 1.00000000
Matlib から Inv() を使用して、R で逆行列を見つける
Matlib ライブラリには、逆行列を求めることができる関数 inv() があります。 例を試してみましょう。
install.packages('matlib')
library(matlib)
x1 <- c(10, 8, 4)
x2 <- c(7, 9, 3)
x3 <- c(11, 2, 5)
# bind the matrix
A <- rbind(x1, x2, x3)
# the original matrix
print(A)
# calculate the inverse.
print(inv(t(A)))
上記のコードの出力は、元の行列と逆行列になります。 出力を参照してください。
[,1] [,2] [,3]
x1 10 8 4
x2 7 9 3
x3 11 2 5
[1,] 1.14705882 -0.9411765 -0.35294118
[2,] -0.05882353 0.1764706 -0.05882353
[3,] -2.50000000 2.0000000 1.00000000