數值型向量的運算
向量可以用于算術表達式中,操作是按照向量中的元素一個一個進行的.同一個表達式中的向量并不需要具有相同的長度, 如果它們的長度不同,表達式的結果是一個與表達式中最長向量有相同長度的向量, 表達式中較短的向量會根據它的長度被重復使用若干次(不一定是整數次),直到與長度最長的向量相匹配, 而常數將被不斷重復 — 這一規則稱為循環法則(recycling rule). 例如, 命令
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
> y <- c(x,0,x)
> v <- 2*x + y + 1
產生一個長度為11的新向量v, 其中2 x被重復2.2次,y 被重復1次,常數1被重復11次. 為了方便使用,我們對向量的運算稍作細分:
1、向量與一個常數的加、減、乘、除為向量的每一個元素與此常數進行加、減、乘、除
?2、向 量 的 乘 方( ? )與 開 方(sqrt)為 每 一 個 元 素 的 乘 方 與 開 方, 這 對像log, exp,sin, cos,tan 等普通的運算函數同樣適用;
3、向 量 的 乘 方( ? )與 開 方(sqrt)為 每 一 個 元 素 的 乘 方 與 開 方, 這 對
像log, exp,sin, cos,tan 等普通的運算函數同樣適用;
4、不同長度向量的加、減、乘、除遵從循環法則(recycling rule), 但要注意這種場合通常要求向量的長度為倍數關系, 否則會出現警告: “長向量并非是短向量的整數倍”.
下面舉例說明
> 5+c(4,7,17)
[1] 9 12 22
> 5*c(4,7,17)
[1] 20 35 85
> c(-1,3,-17)+c(4,7,17)
[1] 3 10 0
> c(2,4,5)^2
[1] 4 16 25
> sqrt(c(2,4,25))
[1] 1.414214 2.000000 5.000000
> 1:2+1:4
[1] 2 4 4 6
> 1:4+1:7
[1] 2 4 6 8 6 8 10
Warning message:
長的目標對象長度不是短的目標對象長度的整倍數 in: 1:4 + 1:7








暫無數據