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ù)