crossprod:行列の積を求める。
x <- c(1,3,6,8,9)
y <- c(2,2,2,2,2)
crossprod(x,y)
## [,1]
## [1,] 54
tcrossprod(x,y)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2 2 2 2 2
## [2,] 6 6 6 6 6
## [3,] 12 12 12 12 12
## [4,] 16 16 16 16 16
## [5,] 18 18 18 18 18
tcrossprod:転置した積を求める。
# tcrossprodのサンプルコードから参照
z <- 1:4; names(z) <- letters[1:4]
z
## a b c d
## 1 2 3 4
tcrossprod(as.matrix(z))
## a b c d
## a 1 2 3 4
## b 2 4 6 8
## c 3 6 9 12
## d 4 8 12 16
%*%:行列の積を計算する
左辺の行列の列数と右辺の行列の行数が一致していることが前提条件
x <- matrix(c(1,2,3,4), ncol = 2)
x
## [,1] [,2]
## [1,] 1 3
## [2,] 2 4
y <- matrix(c(4,1,3,2,2,3), ncol = 3)
y
## [,1] [,2] [,3]
## [1,] 4 3 2
## [2,] 1 2 3
x %*% y
## [,1] [,2] [,3]
## [1,] 7 9 11
## [2,] 12 14 16
具体的に計算してみると
1*4+3*1 1*3+3*2 1*2+3*3
2*4+4*1 2*3+4*2 2*2+4*3
%o%:行列の外積を計算する。
outer:同じく外積を計算する。
x <- matrix(1:5, 1, 5)
y <- matrix(1:5, 1, 5)
x %o% y
## , , 1, 1
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
##
## , , 1, 2
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2 4 6 8 10
##
## , , 1, 3
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 3 6 9 12 15
##
## , , 1, 4
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 4 8 12 16 20
##
## , , 1, 5
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 5 10 15 20 25
outer(x,y)
## , , 1, 1
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
##
## , , 1, 2
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 2 4 6 8 10
##
## , , 1, 3
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 3 6 9 12 15
##
## , , 1, 4
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 4 8 12 16 20
##
## , , 1, 5
##
## [,1] [,2] [,3] [,4] [,5]
## [1,] 5 10 15 20 25
行列の逆条件数を計算する。
x <- matrix(c(632.98091, 772.70443, 21.38760, 158.83162, 113.46291, 700.92520, 135.74351, 84.19629, 571.85798, 710.49040, 252.67074, 436.90322), nrow = 4, byrow = TRUE)
rcond(x)
## [1] 0.1448387
正方行列の逆行列を求める。
x <- matrix(c(632.98091, 772.70443, 21.38760, 158.83162, 113.46291, 700.92520, 135.74351, 84.19629, 571.85798, 710.49040, 252.67074, 436.90322, 185.59513, 331.96215, 584.90032, 134.66699), nrow = 4, byrow = TRUE)
solve(x)
## [,1] [,2] [,3] [,4]
## [1,] 2.354206e-03 -0.0022915430 -0.0006363633 0.0007206384
## [2,] -7.163805e-06 0.0018431495 -0.0002547444 -0.0003174488
## [3,] -4.172952e-05 -0.0003684931 -0.0005394568 0.0020297783
## [4,] -3.045613e-03 0.0002151611 0.0038480097 -0.0016008673
copyrigth © 2016 r-beginners.com All rigths reserved.
PAGE TOP ▲