R語言之矩陣操作
R語言作為一門統計語言,肯定缺少不了矩陣處理。下面是我參考《R語言與數據挖掘》總結出來以下關於矩陣運算的函數,其中包括矩陣的求和,轉置,等。
+, -, * , /矩陣的四則運算,對應位置的元素進行運算要求矩陣的維數必須相同
t()矩陣的行列轉置colSums()分別對矩陣的每一列進行求和
rowSums()分別對矩陣的每一行進行求和colMeans()分別對矩陣的每一列進行求平均值rowMeans()分別對矩陣的每一行進行求平均值det()解方程的行列式
crossprod()解兩個矩陣的內積(outer()解兩個矩陣的外積,又叫叉積%*%矩陣乘法,要求第一個矩陣的列數與行數相同diag()對矩陣取對角元素,若對象為向量(不管有沒有缺失值),則生成以向量為對角元素的對角矩陣solve()在矩陣可逆的情況下,對矩陣求逆矩陣
eigen()對矩陣求解特徵值和特徵向量接下來我們通過一些例子來了解一下這些函數。
#定義兩個都是2*2的矩陣 na<-matrix(c(1:4),ncol=2)n b<-matrix(c(5:8),ncol=2)n
其中a,b分別為
> an [,1] [,2]n[1,] 1 3n[2,] 2 4n> bn [,1] [,2]n[1,] 5 7n[2,] 6 8n
#求矩陣的各列平均值ncolMeans(a)n[1] 1.5 3.5n
#求矩陣a的轉置矩陣nt(a)n [,1] [,2]n[1,] 1 2n[2,] 3 4n
#矩陣的四則運算n3*a-b+b/an [,1] [,2]n[1,] 3 4.333333n[2,] 3 6.000000n
#方陣求解行列式ndet(a)n[1] -2n
#矩陣內積ncrossprod(a,b)n [,1] [,2]n[1,] 17 23n[2,] 39 53n#注意;crossprod(a,b)等價於t(a)%*%bn
----------------------------------------------
作者:王亨
出處:王亨的博客專欄
公眾號:跟著菜鳥一起學R語言
大家也可以加小編微信:tswenqu,進R語言中文社區 交流群,可以跟各位老師互相交流
推薦閱讀: