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語言中文社區 交流群,可以跟各位老師互相交流


推薦閱讀:

數據分析師會被演算法取代么?
中國的獨角獸和那些聰明的投資者
揭秘知乎限流
運營與增長黑客只差一個數據驅動

TAG:R编程语言 | 数据分析 |