Inspeksjon av rådata

Funksjoner for å inspisere rådata

I base R (grunninstallasjonen av R) finnes det funksjoner som kan brukes til å inspisere rådata. Med funksjonen View() vises dataene i en tabell som kan søkes i og sorteres. Dette er nyttig for å gjøre manuelle kontroller i rådata.

I dette kapitlet arbeider vi med rhc-data, som ble forklart i forrige kapittel. Hvis du ikke har lastet ned dataene, kan du gjøre det etter instruksjonene i forrige kapittel.

View(rhc)

Dette vinduet åpnes når du bruker View():

RStudio-vinduet fra View(rhc) med datasettet rhc som sorterbar tabell med kolonner som age, alb1, ca og cat1

Øverst i vinduet finnes det funksjoner som du kan bruke til å filtrere i datasettet, bla gjennom kolonnene og søke i hele datasettet. Disse funksjonene fremgår av bildet nedenfor.

View-vinduet i RStudio med piler til knappene for å åpne i ny rute, filtrere, bla gjennom kolonner og søke

Vi fortsetter med head() og tail(), som viser henholdsvis de første 5 og de siste 5 radene i vår data frame. Du kan justere dette ved å angi hvor mange rader du vil se, som andre argument i disse funksjonene.

## Første 3 rader
head(rhc, 3)

## Siste 2 rader
tail(rhc, 3)

Resultatet av head():

adld3p <int> age <dbl> alb1 <dbl> amihx <int> aps1 <int> bili1 <dbl> ca <chr> card <chr> cardiohx <int>
0 70.25098 3.500000 0 46 1.0097656 Yes Yes 0
NA 78.17896 2.599609 0 50 0.6999512 No No 1
NA 46.09198 3.500000 0 82 1.0097656 Yes Yes 0

Resultatet av tail():

adld3p <int> age <dbl> alb1 <dbl> amihx <int> aps1 <int> bili1 <dbl> ca <chr> card <chr> cardiohx <int>
1 80.48499 4.099609 0 43 1.000000 No No 1
NA 67.37897 3.500000 0 51 1.009766 No No 0
NA 54.66397 3.000000 0 101 21.796875 No No 0

Pakken dplyr har funksjonen glimpse(), som gir en oversikt over dataene. Vi bruker glimpse() på rhc nå:

glimpse(rhc)
Utskrift av glimpse(rhc) med 5 735 rader og 63 kolonner, hver variabels type og de første verdiene
Utskriften er forkortet.

Funksjonen glimpse() gir dermed en rask oversikt over hvilke variabler som finnes i data framen, variabeltypene deres og verdiene til de første variablene.

Med funksjonen summary() kan vi på samme måte generere en beskrivelse av alle variablene. Sammenlignet med glimpse() gir summary() sentralmål og spredningsmål for hver variabel, noe som vises i følgende eksempel:

summary(rhc)
Utskrift av summary(rhc) med minimum, kvartiler, median, gjennomsnitt og maksimum for hver variabel

Funksjonen summary() kan brukes på en enkelt kolonne ved å referere til den med $ etter navnet på vår data frame:

summary(rhc$age)
Utskrift av summary(rhc$age): minimum 18,04, median 64,05, gjennomsnitt 61,38 og maksimum 101,85 år

For å se variablene i én enkelt kolonne brukes samme metode som ovenfor. Kolonnenavnet får $ foran seg, slik:

rhc$age
 [1]  70.25098  78.17896  46.09198  75.33197  67.90997  86.07794  54.96799  43.63898  18.04199  48.42398  34.44199  68.34796  74.70996  42.23700  81.97095  78.30499
  [17]  88.42200  69.00195  41.42899  67.50397  50.59000  62.68900  42.05298  23.11299  62.10797  39.82999  47.75598  36.70099  71.20099  95.53699  67.27997  73.49194
  [33]  71.49597  54.79300  36.13397  61.43997  55.97299  51.39999  54.31097  67.74298  59.90399  21.09200  94.07495  41.33899  80.38300  58.04199  32.07397  80.58295
  [49]  70.61200  80.18896  56.76898  85.29498  63.91498  78.08600  83.37000  61.86697  85.31995  42.92398  47.97498  58.03400  49.82898  69.19098  25.40999  68.40198
  [65]  63.54797  38.91599  77.32495  58.80099  66.32196  60.65399  66.89398  63.48297  25.51399  83.35895  42.28598  57.46997  76.43500  80.03796  49.52798  40.78000
  [81]  69.15295  68.70099  45.57397  59.29099  81.24597  72.81897  53.52197  39.73199  93.02399  54.08600  43.99500  64.11200  70.51599  87.13995  79.79199  46.58698
  [97]  87.70996  83.56195  86.17096  49.99899  30.56499  65.08099  63.88498  47.82498  41.83698  49.68698  57.09198  55.13797  44.31998  56.30899  75.12897  76.84900
 [113]  57.98999  69.40198  65.39600  79.93195  71.90997  77.19397  66.08398  20.58899  60.27100  54.08398  81.93597  36.18100  86.26996  74.68298  28.19399  86.14899
 [129]  80.60498  42.01498  34.11600  82.24799  78.70795  53.31400  71.98395  67.73700  80.45697  82.41998  88.17200  76.21399

Utvalg av kolonner som skal inspiseres

Funksjonene i dplyr er uvurderlige for å velge og mutere kolonner. Her følger flere eksempler med forklaringer i kommentarer i koden:

## Inspiserer de første 3 kolonnene, hema, renalhx og
## alle kolonner mellom transhx:trauma og trauma
rhc %>%
  select(1:3, hema, renalhx, transhx:trauma)
adld3p <int> age <dbl> alb1 <dbl> hema <chr> renalhx <int> transhx <int> trauma <chr>
0 70.25098 3.5000000 No 0 0 No
NA 78.17896 2.5996094 No 0 1 No
NA 46.09198 3.5000000 No 0 0 No
NA 75.33197 3.5000000 No 0 0 No
NA 67.90997 3.5000000 No 0 0 No
0 86.07794 3.0996094 No 0 0 No
NA 54.96799 3.5000000 No 0 0 No
NA 43.63898 2.6997070 No 0 1 No
NA 18.04199 3.0000000 Yes 0 0 No
NA 48.42398 2.5000000 No 0 0 No

Du kan legge til en View() aller sist for å inspisere alle rådataene, slik:

rhc %>%
  select(1:3, hema, renalhx, transhx:trauma) %>%
  View()

Når koden ovenfor kjøres, vises et vindu med rådata.

Du kan begrense hvilke pasienter du inspiserer, ved å bruke flere funksjoner i dplyr:

rhc %>%
  # Beholder bare pasienter som er eldre enn 50 år og har card==Yes
  filter(age>50, card=="Yes") |>
  # Velger variabler
  select(1:3, hema, renalhx, transhx:trauma) |>
  # Beholder de første 100 radene
  slice(1:100) |>
  # Åpner vinduet
  View()

Når koden ovenfor kjøres, vises et vindu med rådata.