R Data II 矩阵运算 10 矩阵转置 det() 求方阵行列式的值 crossprod(x,y) x和y的内积(%*%) tcrossprod(x,y) x和y的外积(%o%),outer() diag() 生成对角阵和矩阵取对角运算 solve() 解线性方程组,求矩阵的逆 eigen() 求矩阵的特征值和特征向量
t() Ꭵᴣᗝ det() ොᴣᤈڜୗጱ crossprod(x,y) xyጱٖᑌ(%*%) tcrossprod(x,y) xyጱक़ᑌ(%o%), outer() diag() ኞ౮ᴣᎥᴣݐᬩᓒ solve() ᥴᕚොᑕᕟ҅Ꭵᴣጱᭋ eigen() Ꭵᴣጱᇙᇙݻᰁ R Data II 矩阵运算
R Data II 矩阵运算例子 A <matrix(1:6,nrow 2) >X%0%y >A [,1] [,2] [,3] [,4][,5] [,1] [,2] [,3] [1,] 2 4 6 8 10 [2,] 4 8 12 16 20 [1,] 1 3 5 >X<- 1:5 [3,] 6 12 18 24 30 [2,] 2 4 6 >t(A) >y<-2*1:5 [4,] 8 16 24 32 40 [5, 10 20 30 40 50 [,1] [,2] >X%*%y > crossprod(x,y) [1,] 1 2 [,1] [,1] [,2] C,3] [,4] [,5 [2,] 4 4 [1] 24 6 8 3 10 [1,] 110 [2,] 8 12 16 20 [3,] 5 6 > crossprod(x,y) [3,1 6 12 18 [,1] 4,1 8 16 24 4 [5,] 10 20 30 40 50 [1,] 110 outer(x,y,FUN ="*" [,1[,][,3][,4][,5] [1,] 4 6 10 2,] 4 8 12 16 20 det(matrix(1:4,ncol 2)) [3,1 6 12 18 24 30 [1]-2 [4 8 6 32 40 5,3 10 2 30 40 50
R Data II 矩阵运算例子
R Data Il 矩阵运算例子 A <-array(1:9,dim=c(3,3)) >A<-t(array(c(1:8,10),dim=c(3,3))) B <-array(1:9,dim=c(3,3)) >b<-c(1,1,1) >C<-A B x <solve(A,b) >C >X [,1][,2][,3] [1]-1.000000e+00 1.000000e+003.330669e-16 [1,] 1 16 49 [2,] 4 25 64 B <solve(A) [3,] 9 36 81 >B [,1] [,2][,3] D <-A%*%B [1,]-0.6666667-1.333333 1 D [2,]-0.66666673.666667 -2 [3,] 1.0000000-2.000000 1 [,1] [,2] [,3] [1,] 30 66102 >A [2,] 36 81126 > Sm <-crossprod(A,A) [,1][,2][,3] [3,] 42 96150 ev eigen(Sm) [1,] 1 <- 2,] 4 6 ev [3,] 810 M <-array(1:9,dim=c(3,3)) Svalues >M [1]303.19533618 0.76590739 0.03875643 [,1][,2][,3] [1,] 1 4 7 Svectors [2,] 2 5 8 [,1 [,2] [,3] [3,] 3 6 9 [1,]-0.4646675 0.833286355 0.2995295 diag(M) [2,]-0.5537546-0.009499485-0.8326258 [1]159 [3,]-0.6909703-0.5527599940.4658502
R Data II 矩阵运算例子