Wat is tidy data?

Data herstructureren met tidyr

Jeroen Boeye

Head of Machine Learning, Faktion

 

 

Gelukkige gezinnen lijken op elkaar, maar elk ongelukkig gezin is op zijn eigen manier ongelukkig.


Leo Tolstoj

 

Tidy datasets lijken op elkaar, maar elke rommelige dataset is op zijn eigen manier rommelig.


Hadley Wickham

Data herstructureren met tidyr

Rechthoekige data

 

Structuur

  • Kolommen
  • Rijen
  • Cellen

 

Tidy-voorbeeld

Data herstructureren met tidyr

Tidy data: variabelen

 

Structuur

  • Kolommen bevatten variabelen
  • Rijen
  • Cellen

 

Tidy-voorbeeld variabelen

Data herstructureren met tidyr

Tidy data: observaties

 

Structuur

  • Kolommen bevatten variabelen
  • Rijen bevatten observaties
  • Cellen

 

Tidy-voorbeeld observaties

Data herstructureren met tidyr

Tidy data: waarden

 

Structuur

  • Kolommen bevatten variabelen
  • Rijen bevatten observaties
  • Cellen bevatten waarden

 

Voorbeeld van tidy waarden

Data herstructureren met tidyr

Herhaling dplyr

character_df
# A tibble: 4 x 3
  name           homeworld species
  <chr>          <chr>     <chr>  
1 Luke Skywalker Tatooine  Human  
2 R2-D2          Naboo     Droid  
3 Darth Vader    Tatooine  Human  
4 Obi-Wan Kenobi Stewjon   Human
Data herstructureren met tidyr

Herhaling dplyr: select()

character_df %>% 
  select(name, homeworld)
# A tibble: 4 x 2
  name           homeworld
  <chr>          <chr>    
1 Luke Skywalker Tatooine 
2 R2-D2          Naboo    
3 Darth Vader    Tatooine 
4 Obi-Wan Kenobi Stewjon
Data herstructureren met tidyr

Herhaling dplyr: filter()

character_df %>% 
  filter(homeworld == "Tatooine")
# A tibble: 2 x 3
  name           homeworld species
  <chr>          <chr>     <chr>  
1 Luke Skywalker Tatooine  Human  
2 Darth Vader    Tatooine  Human
Data herstructureren met tidyr

Herhaling dplyr: mutate()

character_df %>% 
  mutate(is_human = species == "Human")
# A tibble: 4 x 4
  name           homeworld species is_human
  <chr>          <chr>     <chr>   <lgl>   
1 Luke Skywalker Tatooine  Human   TRUE    
2 R2-D2          Naboo     Droid   FALSE   
3 Darth Vader    Tatooine  Human   TRUE    
4 Obi-Wan Kenobi Stewjon   Human   TRUE
Data herstructureren met tidyr

Herhaling dplyr: group_by() en summarize()

character_df %>% 
  group_by(homeworld) %>% 
  summarize(n = n())
# A tibble: 3 x 2
  homeworld     n
  <chr>     <int>
1 Naboo         1
2 Stewjon       1
3 Tatooine      2
Data herstructureren met tidyr

magrittr-logo

1 magrittr.tidyverse.org
Data herstructureren met tidyr

 

dplyr-logo

 

tidyr-logo

1 www.tidyverse.org
Data herstructureren met tidyr

Meerdere variabelen in één kolom

population_df
# A tibble: 4 x 2
  country                 population
  <chr>                        <dbl>
1 Brazil, South America        210. 
2 Nepal, Asia                   28.1
3 Senegal, Africa               15.8
4 Australia, Oceania            25.0
Data herstructureren met tidyr

Variabelen splitsen over twee kolommen

population_df %>% 
  separate(country, into = c("country", "continent"), sep = ", ")
# A tibble: 4 x 3
  country   continent      population
  <chr>     <chr>               <dbl>
1 Brazil    South America       210. 
2 Nepal     Asia                 28.1
3 Senegal   Africa               15.8
4 Australia Oceania              25.0
Data herstructureren met tidyr

Laten we oefenen!

Data herstructureren met tidyr

Preparing Video For Download...