R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn)
一、向量運(yùn)算
向量是有相同基本類(lèi)型的元素序列,一維數(shù)組,定義向量的最常用辦法是使用函數(shù)c(),它把若干個(gè)數(shù)值或字符串組合為一個(gè)向量。
1.R語(yǔ)言向量的產(chǎn)生方法
> x <- c(1,2,3) > x [1] 1 2 3
2.向量加減乘除都是對(duì)其對(duì)應(yīng)元素進(jìn)行的,例如下面
> x <- c(1,2,3) > y <- x*2 > y [1] 2 4 6
(注:向量的整數(shù)除法是%/%,取余是%%。)
3.向量的內(nèi)積,有兩種方法。
第一種方法:%*%
> x <- c(1,2,3) > y <- c(4,5,6) > z <- x%*%y > z [,1] [1,] 32
第二種方法:crossprod(x,y).
> x <- c(1,2,3) > y <- c(4,5,6) > z <- crossprod(x,y) > z [,1] [1,] 32
4.向量的外積 ,有三種方法。
第一種方法:%o%
> x <- c(1,2,3) > y <- c(4,5,6) > x%o%y [,1] [,2] [,3] [1,] 4 5 6 [2,] 8 10 12 [3,] 12 15 18
第二種方法:tcrossprod(x,y)
> x <- c(1,2,3) > y <- c(4,5,6) > tcrossprod(x,y) [,1] [,2] [,3] [1,] 4 5 6 [2,] 8 10 12 [3,] 12 15 18
第三種方法:outer(x,y)
> x <- c(1,2,3) > y <- c(4,5,6) > outer(x,y) [,1] [,2] [,3] [1,] 4 5 6 [2,] 8 10 12 [3,] 12 15 18
二、矩陣的運(yùn)算
1. 矩陣的產(chǎn)生方式
> x <- matrix(1:9,3,3) > x [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9
其中第一個(gè)3表示的是行數(shù),第二個(gè)3表示的列數(shù)。 故產(chǎn)生一個(gè)3*3的矩陣。這里是將1到9按列排列,如果想按行排列,那么如下代碼
> x <- matrix(1:9,3,3,byrow = TRUE) > x [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9
2.矩陣對(duì)應(yīng)元素的運(yùn)算
> x <- matrix(1:9,3,3) > y <- matrix(9:1,3,3) > x*y [,1] [,2] [,3] [1,] 9 24 21 [2,] 16 25 16 [3,] 21 24 9
3.矩陣的轉(zhuǎn)置
> x <- matrix(1:9,3,3) > x [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > t(x) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9
4.矩陣乘法
> x <- matrix(1:9,3,3) > y <- matrix(9:1,3,3) > x%*%y [,1] [,2] [,3] [1,] 90 54 18 [2,] 114 69 24 [3,] 138 84 30
5.矩陣 x乘y的轉(zhuǎn)置,x的轉(zhuǎn)置乘以y
> x <- matrix(1:9,3,3) > y <- matrix(9:1,3,3) > crossprod(x,y) [,1] [,2] [,3] [1,] 46 28 10 [2,] 118 73 28 [3,] 190 118 46 #這個(gè)是x的轉(zhuǎn)置乘以y > tcrossprod(x,y) [,1] [,2] [,3] [1,] 54 42 30 [2,] 72 57 42 [3,] 90 72 54 #這個(gè)是x乘以y的轉(zhuǎn)置
6.求矩陣的行列式、對(duì)稱(chēng)矩陣的特征值、特征向量
> x <- matrix(1:9,3,3) > x [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > det(x) [1] 0 #這個(gè)是求特征值的 > x <- matrix(1:9,3,3) > x [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 > a <- crossprod(x,x) > a1 <- eigen(a) #這個(gè)是得到對(duì)稱(chēng)矩陣特征值、特征向量的主要函數(shù) > a1 eigen() decomposition $`values` #這個(gè)是特征值 [1] 2.838586e+02 1.141413e+00 6.308738e-15 $vectors #這個(gè)是特征向量 [,1] [,2] [,3] [1,] -0.2148372 0.8872307 0.4082483 [2,] -0.5205874 0.2496440 -0.8164966 [3,] -0.8263375 -0.3879428 0.4082483
到此這篇關(guān)于R語(yǔ)言中向量和矩陣簡(jiǎn)單運(yùn)算的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)R語(yǔ)言向量運(yùn)算和矩陣運(yùn)算內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
R語(yǔ)言-t分布正態(tài)分布分位數(shù)圖的實(shí)例
這篇文章主要介紹了R語(yǔ)言-t分布正態(tài)分布分位數(shù)圖的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04R語(yǔ)言表達(dá)式知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了一篇關(guān)于R語(yǔ)言表達(dá)式知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。2021-03-03R語(yǔ)言-如何實(shí)現(xiàn)卡方檢驗(yàn)
這篇文章主要介紹了R語(yǔ)言實(shí)現(xiàn)卡方檢驗(yàn)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04R語(yǔ)言讀取txt文件中的內(nèi)容實(shí)現(xiàn)
R語(yǔ)言提供了多種讀取文本數(shù)據(jù)的函數(shù),本文主要介紹了R語(yǔ)言讀取txt文件中的內(nèi)容實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03