Umgang mit Vektoren
Nachdem wir uns mit den Datentypen und den Datenformen in R beschäftigt haben, wollen wir nun lernen, wie wir mit Vektoren umgehen.
Rechenoperationen mit einem Vektor
Zuerst wollen wir uns einen Vektor a erstellen, dieser soll die Zahlen von 1 - 100 enthalten:
a <- 1:100
a
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## [19] 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
## [37] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
## [55] 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
## [73] 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
## [91] 91 92 93 94 95 96 97 98 99 100
Wir können für alle Elemente des Vektors die Summe bilden:
sum(a)
## [1] 5050
Oder auch die kummulativen Summen berechnen:
cumsum(a)
## [1] 1 3 6 10 15 21 28 36 45 55 66 78 91 105 120
## [16] 136 153 171 190 210 231 253 276 300 325 351 378 406 435 465
## [31] 496 528 561 595 630 666 703 741 780 820 861 903 946 990 1035
## [46] 1081 1128 1176 1225 1275 1326 1378 1431 1485 1540 1596 1653 1711 1770 1830
## [61] 1891 1953 2016 2080 2145 2211 2278 2346 2415 2485 2556 2628 2701 2775 2850
## [76] 2926 3003 3081 3160 3240 3321 3403 3486 3570 3655 3741 3828 3916 4005 4095
## [91] 4186 4278 4371 4465 4560 4656 4753 4851 4950 5050
Diesselbe Rechenoperation gibt es auch für die Multiplikation:
- prod()
- cumprod()
Rechenoperationen mit zwei Vektoren
Nachdem wir mit einzelnen Vektoren rechnen können, wollen wir uns nun anschauen wie wir 2 Vektoren miteinander verrechnen können. Hierzu erstellen wir uns einen zweiten Vektor b der die Zahlen von 101 - 200 enthalten soll:
b <- 101:200
Wir können 2 Vektoren genause einfach wie 2 Variablen miteinander verrechnen. Zum Beispiel können wir Vektor a und b addieren. Hierbei wird jedes Element des Vektors mit dem jeweiligen Element des anderen Vektors addiert. Diese Rechenoperation funktioniert also nur bei Vektoren der gleichen Länge. Dasselbe können wir mit allen beliebigen Grundrechenarten durchführen.
c <- a + b
c
## [1] 102 104 106 108 110 112 114 116 118 120 122 124 126 128 130 132 134 136
## [19] 138 140 142 144 146 148 150 152 154 156 158 160 162 164 166 168 170 172
## [37] 174 176 178 180 182 184 186 188 190 192 194 196 198 200 202 204 206 208
## [55] 210 212 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 244
## [73] 246 248 250 252 254 256 258 260 262 264 266 268 270 272 274 276 278 280
## [91] 282 284 286 288 290 292 294 296 298 300
d <- a * b
d
## [1] 101 204 309 416 525 636 749 864 981 1100 1221 1344
## [13] 1469 1596 1725 1856 1989 2124 2261 2400 2541 2684 2829 2976
## [25] 3125 3276 3429 3584 3741 3900 4061 4224 4389 4556 4725 4896
## [37] 5069 5244 5421 5600 5781 5964 6149 6336 6525 6716 6909 7104
## [49] 7301 7500 7701 7904 8109 8316 8525 8736 8949 9164 9381 9600
## [61] 9821 10044 10269 10496 10725 10956 11189 11424 11661 11900 12141 12384
## [73] 12629 12876 13125 13376 13629 13884 14141 14400 14661 14924 15189 15456
## [85] 15725 15996 16269 16544 16821 17100 17381 17664 17949 18236 18525 18816
## [97] 19109 19404 19701 20000
append()
Um zwei Vektoren aneinanderzureihen oder fehlende Werte zu ergänzen, können wir die append()-Funktion verwenden. Hierbei übergeben wir der Funktion 3 Argumente:
- den Basisvektor, der unverändert übernommen wird
- die Werte, die angefügt werden sollen
- die Stelle, an der die Werte eingefügt werden sollen
Wenn wir z.B. unsere Vektoren a und b aneinanderreihen wollen nutzen wir folgenden Code:
c <- append(a, b)
Wenn wir uns den Vektor ausgeben lassen, sehen wir, das einfach beide Vektoren hintereinander zusammengebaut wurden.
Wir können auch einzelne Werte ergänzen:
d <- append(a, c(30, 40, 50))
Wie wir sehen, müssen wir sobald wir mehr als einen Wert anhängen wollen wieder die c()-Funktion verwenden. Wir können also immer nur ein zweites Argument übergeben (eine Zahl, ein Vektor, oder mehrere Zahlen/Vektoren verbunden in der c()-Funktion).
Wollen wir (fehlende) Werte an einer bestimmten Stelle des Vektors einfügen, so können wir das Argument “after =” benutzen:
d <- append(a, c(30, 40, 50), after = 5)
Wir geben also an, nach welchem Element des Ausgangsvektors die Werte eingefügt werden sollen. Wir können somit auch einen Vektor in einen anderen Vektor integrieren:
d <- append(a, b, after = 23)