Vektor-Indexierung
In dieser Session geht es um die Indexierung bzw. Referenzierung von Vektoren. Wir wollen lernen, wie wir auf ganz bestimmte Elemente eines Vektors zugreifen können und Teile eines Vektors ausschneiden und als neuen Vektor abspeichern können.
Die eckigen Klammern [ ]
Um in einem Vektor zu indexieren, benutzen wir die eckigen Klammern [ ]. Zuerst wollen wir uns einen Vektor erstellen:
a <- 1:50
Wollen wir nun z.B. auf das 45. Element useres Vektors zugreifen, dann schreiben wir dies so:
a[45]
## [1] 45
Um mehrere Elemente aus dem Vektor auszuwählen, können wir die combine-Funktion benutzen:
b <- a[c(1, 3, 13, 27)]
b
## [1] 1 3 13 27
Weiterhin kann man die von:bis-Schreibweise einsetzen:
a[3:17]
## [1] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Natürlich kann man auch die combine-Funktion sowie die von:bis-Schreibweise kombinieren:
b <- a[c(1:10, 21:30, 41:50)]
b
## [1] 1 2 3 4 5 6 7 8 9 10 21 22 23 24 25 26 27 28 29 30 41 42 43 44 45
## [26] 46 47 48 49 50
Um gewisse Elemente auszuschließen, kann man auch eine Schreibweise mit Nutzung des Minus-Zeichens verwenden. Möchte ich z.B. alle Elemente außer dem 50. Element meines Vektors haben, so kann man schreiben:
a[-50]
## [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] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
Auch in diese Schreibweise kann man die von:bis-Schreibweise und die combine-Funktion benutzen:
a[-(1:10)]
## [1] 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
## [26] 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
a[-c(10, 20, 30, 40, 50)]
## [1] 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27
## [26] 28 29 31 32 33 34 35 36 37 38 39 41 42 43 44 45 46 47 48 49