Funktionen slice() selekterar rader (observationer) baserat på position. Funktionen gör det möjligt att selektera, radera eller duplicera rader. Följande hjälpfunktioner finns till slice():
Hjälpfunktioner (helper functions):
slice_head()ochslice_tail()väljer de första respektive sista raderna.slice_sample()väljer rader slumpmässigt.slice_min()ochslice_max()väljer rader med högsta eller lägsta värden för en variabel.
Detta kapitel använder mpg data för att demonstrera slice().
library(tidyverse)
data(mpg)Vi börjar med att selektera de första 10 raderna:
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 compactRaderar de första 10 raderna i mpg:
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 suvExempel med hjälpfunktionerna:
## Sista 5 raderna
mpg |>
slice_tail(n = 5)
## Första 5 raderna
mpg |>
slice_head(n = 5)
## Välj raderna med 20 högsta värdena på displ
mpg |>
slice_max(displ, n = 20)
## Välj raderna med 20 minsta värdena på displ
mpg |>
slice_min(displ, n = 20)Funktionen filter() används för att filtrera rader med hjälp av villkor, istället för position. Se kapitel dplyr filter(). Med filter() kan dock rader selekteras på position, som framgår av följande exempel:
## Välj rad 4
mpg |>
filter(row_number() == 4)