Funksjonen slice() velger rader (observasjoner) basert på posisjon. Funksjonen gjør det mulig å velge, slette eller duplisere rader. Følgende hjelpefunksjoner finnes til slice():
Hjelpefunksjoner (helper functions):
slice_head()ogslice_tail()velger henholdsvis de første og de siste radene.slice_sample()velger rader tilfeldig.slice_min()ogslice_max()velger rader med høyeste eller laveste verdier for en variabel.
Dette kapittelet bruker mpg-data for å demonstrere slice().
library(tidyverse)
data(mpg)Vi begynner med å velge de første 10 radene:
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 compactSletter de første 10 radene 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 suvEksempler med hjelpefunksjonene:
## Siste 5 rader
mpg |>
slice_tail(n = 5)
## Første 5 rader
mpg |>
slice_head(n = 5)
## Velg radene med de 20 høyeste verdiene for displ
mpg |>
slice_max(displ, n = 20)
## Velg radene med de 20 laveste verdiene for displ
mpg |>
slice_min(displ, n = 20)Funksjonen filter() brukes til å filtrere rader ved hjelp av betingelser i stedet for posisjon. Se kapittelet dplyr filter(). Med filter() kan rader likevel velges etter posisjon, slik det fremgår av følgende eksempel:
## Velg rad 4
mpg |>
filter(row_number() == 4)