Die Funktion slice() wählt Zeilen (Beobachtungen) anhand ihrer Position aus. Mit ihr lassen sich Zeilen auswählen, löschen oder duplizieren. Zu slice() gibt es folgende Hilfsfunktionen:
Hilfsfunktionen (helper functions):
slice_head()undslice_tail()wählen die ersten bzw. letzten Zeilen aus.slice_sample()wählt Zeilen zufällig aus.slice_min()undslice_max()wählen die Zeilen mit den höchsten oder niedrigsten Werten einer Variablen aus.
In diesem Kapitel wird slice() anhand des Datensatzes mpg demonstriert.
library(tidyverse)
data(mpg)Wir beginnen damit, die ersten 10 Zeilen auszuwählen:
mpg |>
slice(1:10) manufacturer model displ year cyl trans drv cty hwy fl class
1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
3 audi a4 2 2008 4 manual(m6) f 20 31 p compact
4 audi a4 2 2008 4 auto(av) f 21 30 p compact
5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
7 audi a4 3.1 2008 6 auto(av) f 18 27 p compact
8 audi a4 quattro 1.8 1999 4 manual(m5) 4 18 26 p compact
9 audi a4 quattro 1.8 1999 4 auto(l5) 4 16 25 p compact
10 audi a4 quattro 2 2008 4 manual(m6) 4 20 28 p compactDie ersten 10 Zeilen in mpg löschen:
mpg |>
slice(-(1:10))## A tibble: 224 × 11
manufacturer model displ year cyl trans drv cty hwy fl class
1 audi a4 quattro 2 2008 4 auto(s6) 4 19 27 p compact
2 audi a4 quattro 2.8 1999 6 auto(l5) 4 15 25 p compact
3 audi a4 quattro 2.8 1999 6 manual(m5) 4 17 25 p compact
4 audi a4 quattro 3.1 2008 6 auto(s6) 4 17 25 p compact
5 audi a4 quattro 3.1 2008 6 manual(m6) 4 15 25 p compact
6 audi a6 quattro 2.8 1999 6 auto(l5) 4 15 24 p midsize
7 audi a6 quattro 3.1 2008 6 auto(s6) 4 17 25 p midsize
8 audi a6 quattro 4.2 2008 8 auto(s6) 4 16 23 p midsize
9 chevrolet c1500 suburban 2wd 5.3 2008 8 auto(l4) r 14 20 r suv
10 chevrolet c1500 suburban 2wd 5.3 2008 8 auto(l4) r 11 15 e suvBeispiele mit den Hilfsfunktionen:
## Letzte 5 Zeilen
mpg |>
slice_tail(n = 5)
## Erste 5 Zeilen
mpg |>
slice_head(n = 5)
## Zeilen mit den 20 höchsten Werten von displ auswählen
mpg |>
slice_max(displ, n = 20)
## Zeilen mit den 20 niedrigsten Werten von displ auswählen
mpg |>
slice_min(displ, n = 20)Die Funktion filter() dient dazu, Zeilen anhand von Bedingungen statt nach Position zu filtern. Siehe Kapitel dplyr filter(). Mit filter() lassen sich Zeilen jedoch auch nach Position auswählen, wie das folgende Beispiel zeigt:
## Zeile 4 auswählen
mpg |>
filter(row_number() == 4)