R語(yǔ)言學(xué)習(xí)之向量——啟航

通過(guò)前面幾篇,相信就算是新手也對(duì)R語(yǔ)言的歷史,R運(yùn)行環(huán)境有了大概的了解。下面就R語(yǔ)言特殊的賦值符號(hào)與基本數(shù)據(jù)元素——向量做簡(jiǎn)要概述。

1、賦值符號(hào)

相信大家學(xué)過(guò)的編程語(yǔ)言中,賦值符號(hào)都是“ = ”。當(dāng)然了,在R語(yǔ)言中用“ = ”是可以的,但卻被視為一種不好的編程習(xí)慣,大家都知道,一個(gè)好的編程習(xí)慣是一個(gè)寫(xiě)代碼的人基本編程素養(yǎng)的體現(xiàn)。在R語(yǔ)言中提倡用神奇的賦值符號(hào)“ <- ”。
這里給變量a,b分別賦值5,2

> a <- 5
> b <- 2
> a[1]
5
> b[1]
2
> a = 5
> b = 2
> a[1]
5
> b[1]
2

可以看出“ <- ”,“ = ”是一樣的效果。
加、減法運(yùn)算

> a+b
[1] 7
> a-b
[1] 3

乘、除法運(yùn)算

> a*b
[1] 10
> a/b
[1] 2.5

求余運(yùn)算,R語(yǔ)言中求余符號(hào)是兩個(gè)“%%”

> a%%b
[1] 1

2、向量

只要是編程語(yǔ)言都有向量,向量給數(shù)據(jù)操作帶來(lái)了極大方便。
(1)、向量的創(chuàng)建
R語(yǔ)言中向量創(chuàng)建與取值與其它編程語(yǔ)言差不多,只是R語(yǔ)言中用 ‘c’ 關(guān)鍵字創(chuàng)建,所以不要用 'c' 作為變量。

> arr <- c(1,2,3,5,6)
> arr
[1] 1 2 3 5 6

也可以這樣創(chuàng)建:

> arr <- c(1:5)
> arr
[1] 1 2 3 4 5

還有一些其它方式,以后遇到會(huì)慢慢介紹。比如

> seq(1,9)
[1] 1 2 3 4 5 6 7 8 9
> rep(1,9)
[1] 1 1 1 1 1 1 1 1 1

(2)、元素引用
R語(yǔ)言序列下標(biāo)都從“ 1 ”開(kāi)始哦。

> arr[1]
[1] 1
> arr[3]
[1] 3
> arr[length(arr)]
[1] 6

(3)、向量加減法
向量的加減法表示兩個(gè)向量對(duì)應(yīng)元素分別進(jìn)行加減運(yùn)算。
這里創(chuàng)建另外一個(gè)向量arr2

> arr2
[1] 2 3 4 5 6 7

 

與matlab一樣的向量式編程方式

> arr
[1] 1 2 3 5 6
> arr2 <- c(2:6)
> arr2
[1] 2 3 4 5 6
> arr+arr2
[1] 3 5 7 10 12

當(dāng)然了,向量加減前提是兩個(gè)向量長(zhǎng)度一樣。
(4)、向量乘除法
向量乘除法表示兩個(gè)向量對(duì)應(yīng)元素分別乘除運(yùn)算,返回長(zhǎng)度一樣的向量。相當(dāng)于matlab的點(diǎn)乘。

> arr*arr2
[1] 2 6 12 25 36

 

向量乘除前提是兩個(gè)向量長(zhǎng)度一樣,當(dāng)然了,分母不能為0。





作者:柯廣的網(wǎng)絡(luò)日志

微信公眾號(hào):Java大數(shù)據(jù)與數(shù)據(jù)倉(cāng)庫(kù)