03.02.2020
5 min læsetid

Tidy data og data wrangling med R

Vil du gerne speede hele data-forarbejdet op? Det kan programmeringssproget og statistikprogrammet R hjælpe dig med ved hjælp af pakker som dplyr.

IDA Learning

afIDA Learning

Processen med at transformere og kortlægge data fra en "rå" dataform til et brugbart format til analyser, modelleringer og visualiseringer kaldes ofte data wrangling (eller data munging).

Det er nok et spørgsmål om personlige præferencer, om data wrangling er tilfredsstillende og meningsfuld i sig selv, eller om det blot er et smertefuldt forstadie til det efterfølgende dataarbejde.

Faktum er i hvert fald, at en meget stor del af dataarbejdet går med først at oprense data og siden konvertere dem til en form, der gør informationen tilgængelig.

At lære at gøre dette godt er måske den bedste investering for dig som dataforsker.

Her kommer et program som R dig til undsætning. R er et utroligt kraftigt og vidt udbredt programmeringssprog til statistisk analyse og datavidenskab.

Hvad er tidy data?

Datasæt kommer i mange forskellige former, og de kan gemme værdierne på deres variabler på meget forskellige måder

F.eks kan du have et datasæt, hvor hver variabel er i sin egen kolonne. Og så kan du have et andet datasæt, hvor den ene variabel er i sin egen kolonne, en anden går på tværs af kolonneoverskrifterne og den sidste er i et felt med celler.

Vil du introduceres til dplyr og R?

Lær at forberede og udnytte data med R på IDAs 3-dages kursus Data Science with R.

tabeller

Det første datasæt er lige til at gå til. Det andet derimod kræver, at du udtrækker data og sætter dem sammen på en ny, meningsfuld måde.

Det er problematisk, for som udgangspunkt vil du gerne skrive din kode så generaliserbar og automatiseret som muligt - og hvis du skal stoppe op og granske det datasæt, du arbejder med, og regne ud, hvordan du bedst udtrækker værdierne for de variabler, du ønsker at arbejde med, kan det være virkelig svært at skrive et stykke kode, der også fungerer med andre datasæt.

Samtidig bliver risikoen for at lave fejl meget større.

For at undgå dette, kan du med fordel arbejde med tidy data. Tidy data er et andet navn for en model- eller datamatrix, altså en standardmetode til visning af multivariable datasæt.

Der er tre indbyrdes forbundne regler, der gør et datasæt tidy:

  • Hver variabel skal have sin egen kolonne.
  • Hver observation skal have sin egen række.
  • Hver værdi skal have sin egen celle.

At få dine data konverteret til dette format kræver noget forudgående arbejde, men det arbejde lønner sig på lang sigt.

Her kommer Tidyverse ind i billedet. Tidyverse er en samling af alsidige open source R-pakker, der pga. fælles datarepræsentationer og API-design samarbejder harmonisk til alt fra at rense og behandle til at modellere og visualisere data. 

Nogle af de mest alsidige R-pakker er samlet i Tidyverse: ggplot2, dplyr, tidyr, readr, purrr og tibble.

Når det kommer til data wrangling, er det især pakker som dplyr, tidyr og readr, der kan hjælpe dig med at forvandle rodede data til en struktureret form.

dplyr er måske den mest nyttige R-pakke til datamanipulation. En af dens største fordele er, at du kan bruge rørfunktionen "%>%" til at kombinere forskellige funktioner i R - alt fra filtrering af data til gruppering.

dplyr kan blandt andet hjælpe dig med at løse de mest almindelige udfordringer med datamanipulation:

  • mutate() tilføjer nye variabler, der er funktioner i eksisterende variabler
  • select() vælger variabler baseret på deres navne.
  • filter() vælger sager baseret på deres værdier.
  • summarise() reducerer flere værdier til et enkelt resumé.
  • arrange() ændrer rækkefølgen af ​​rækkerne.

dplyr har også den fordel, at du både kan arbejde med lokale datarammer og eksterne databasetabeller med nøjagtigt den samme R-kode.