R語言入門:向量索引

這節的內容是創建在以前咱們對R語言最基本向量賦值的基礎之上的,筆者本人學完R當中向量的索引感受異常溫馨,由於這個比Python的索引爽多了,是什麼值開始索引就從哪裏開始索引,到哪裏結束就在哪裏結束,而不會像Python同樣有的時候輸入0其實是從1開始計數,有的時候到99爲止實際上你要索引到100,給人一種難以弄清的感受。學了簡潔的R內心大爲開朗。app

一.獲得向量當中某個數值的值

首先咱們先生成一個從1到100數值的向量:函數

> x <- c(1:100)
> x
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29
 [30]  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58
 [59]  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87
 [88]  88  89  90  91  92  93  94  95  96  97  98  99 100
> length(x)
[1] 100

能夠看到這個向量的長度正好是100很少也很多,不是99也不是1011,極度溫馨。而後利用索引提取其中的第8個數,咱們來看看是否是8:spa

> x[8]
[1] 8

二.除開某個值,獲得剩餘的其餘值

x[-19]
 [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  20  21  22  23  24  25  26  27  28  29  30
[30]  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59
[59]  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88
[88]  89  90  91  92  93  94  95  96  97  98  99 100

這裏用負號表示除開了19,獲得其餘剩餘的值並表示出來。code

三.利用向量進行索引

> x[c(4:78)]
 [1]  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
[40] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
> x[c(1,45,67,68)]
[1]  1 45 67 68

四.向量當中加入布爾值進行真假判斷並輸出

> y <- c(1,2,3,4,5,6)
> y
[1] 1 2 3 4 5 6
> y[c(T)]
[1] 1 2 3 4 5 6
> y[c(T,F)]
[1] 1 3 5

從中咱們能夠看到的是首先引入一個Y向量,第一次所有數字主動命令判斷爲真,則數字所有輸出。第二次不斷循環先真後假,所以僅輸出1,3,5。固然還比較經常使用的則是直接將數值進行判斷,甚至能夠加上邏輯詞,以下所示:component

y[y>2]
[1] 3 4 5 6
y[y>2 & y<100]
[1] 3 4 5 6

在R當中,使用的是一個「&負號,而不是兩個,這個也是一個看起來極度溫馨的點。blog

五.判斷向量(vector)當中的某個數值(component)是否在向量當中

首先先構造向量x:教程

> x <- c("one","two","three")
> x
[1] "one"   "two"   "three"

而後使用函數進行判斷:索引

> "one" %in% x 
[1] TRUE

結果是T,說明「one」這個元素是在這個咱們所構造的元素當中的。three

六.將數值添加進某個已經存在的向量當中

最簡單的是在向量的最後面添加,方法以下:class

> a <-c(1:100)
> a
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29
 [30]  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58
 [59]  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87
 [88]  88  89  90  91  92  93  94  95  96  97  98  99 100
> a[101]=101
> a
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29
 [30]  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58
 [59]  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87
 [88]  88  89  90  91  92  93  94  95  96  97  98  99 100 101

直接在101的索引處添加數字便可也。

而後是在某個數值以後添加數值的方法,好比咱們要在3以後添加一個數值99,固然咱們先建立一個新的向量V,代碼以下所示:

> v <- c(1:9)
> v[20] <- 20
> v
 [1]  1  2  3  4  5  6  7  8  9 NA NA NA NA NA NA NA NA NA NA 20
> append(x=v,values = 99,after=3)
 [1]  1  2  3 99  4  5  6  7  8  9 NA NA NA NA NA NA NA NA NA NA 20

今天的教程就到此結束了!但願你們看到以後可以有所收穫!

相關文章
相關標籤/搜索