R語言主要用於統計,因此引入了向量這個概念將更好地進行統計計算,在其他無法引入向量的語言當中則會使用迴圈來計算一些大規模的數據,在R語言當中則不需要,下麵我們來看看R語言當中向量的具體用法吧! 首先,如果我們把x作為一個向量,將其賦值為擁有五個元素的向量,代碼如下: > x <- c(1,2,3,4 ...
R語言主要用於統計,因此引入了向量這個概念將更好地進行統計計算,在其他無法引入向量的語言當中則會使用迴圈來計算一些大規模的數據,在R語言當中則不需要,下麵我們來看看R語言當中向量的具體用法吧!
首先,如果我們把x作為一個向量,將其賦值為擁有五個元素的向量,代碼如下:
> x <- c(1,2,3,4,5) > x [1] 1 2 3 4 5 >
我們可以看到x的值已經變成了1,2,3,4,5,其中進行向量賦值的時候,我們使用的是C()函數進行的向量化。當然,向量裡面並不會像數學一樣裡面僅具有數值,而是可以具有布爾值和字元串。下麵是輸入字元串向量的例子:
y <- c("one","two","three") > y [1] "one" "two" "three" > print(y) [1] "one" "two" "three"
布爾值:
> z <- c(TRUE,T,F) > z [1] TRUE TRUE FALSE
也可以直接使用C函數一個一個地輸出每一個數字:
> c(1:100) [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 [35] 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [52] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 [69] 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 [86] 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
這裡冒號表示的是從1挨個輸出到100,如果想要改變這個等差為1的輸出數列,則可以將等差更換為2,輸出方法為:
> seq (from=1,to=100,by=2) [1] 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 [24] 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 [47] 93 95 97 99
也可以將等差的值更改為10,或者利用length.out限定在規定的範圍內只輸出多少個值,如下所示:
> seq (from=1,to=100,by=10) [1] 1 11 21 31 41 51 61 71 81 91 > seq (from=1,to=100,length.out = 10) [1] 1 12 23 34 45 56 67 78 89 100
向量的複製,將2重覆5次:
> rep(2,5)
[1] 2 2 2 2 2
將x重覆5次:
> x [1] 1 2 3 4 5 > rep(x,5) [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
將x向量當中的每一個數字分別重覆5次,重覆之後還可以再重覆一次:
> rep(x,each=5) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 > rep(x,each=5,times=2) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 1 1 1 1 1 2 2 2 2 [35] 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
利用mode()函數測量對象是屬於什麼類型:
> mode(x) [1] "numeric"
將兩個不同的向量進行運算:
> x <- c(1,2,3,4,5) > y <- c(6,7,8,9,10) > x*2+y [1] 8 11 14 17 20
查找X向量當中的值:
> x[x>3]
[1] 4 5
得解。