Aan de slagGa gratis aan de slag

Sets aggregeren om hun verschillen te bekijken

Om twee afzonderlijke sets en de soorten LEGO-onderdelen waaruit ze bestaan te vergelijken, moeten we de gegevens aggregeren per thema. Daarnaast willen we, zoals je in de video zag, een kolom toevoegen zodat we de fracties van specifieke onderdelen per set kunnen begrijpen, in plaats van alleen naar de aantallen te kijken.

De tabel inventory_parts_themes is alvast voor je ingeladen.

inventory_parts_themes <- inventories %>%
  inner_join(inventory_parts, by = c("id" = "inventory_id")) %>%
  arrange(desc(quantity)) %>%
  select(-id, -version) %>%
  inner_join(sets, by = "set_num") %>%
  inner_join(themes, by = c("theme_id" = "id"), suffix = c("_set", "_theme"))

Deze oefening maakt deel uit van de cursus

Data samenvoegen met dplyr

Cursus bekijken

Oefeninstructies

  • Voeg een filter toe voor het "Batman"-thema om het object batman_colors te maken.
  • Voeg een kolom fraction toe aan batman_colors die het totaal deelt door de som van het totaal.
  • Herhaal de stappen om de "Star Wars"-setgegevens te filteren en aggregeren en maak het object star_wars_colors.
  • Voeg een kolom fraction toe aan star_wars_colors om de fractie van het totaal te tonen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

batman_colors <- inventory_parts_themes %>%
  # Filter the inventory_parts_themes table for the Batman theme
  filter(name_theme == ___) %>%
  group_by(color_id) %>%
  summarize(total = sum(quantity)) %>%
  # Add a fraction column of the total divided by the sum of the total 
  mutate(___)

# Filter and aggregate the Star Wars set data; add a fraction column
star_wars_colors <- inventory_parts_themes %>%
  ___
	

Code bewerken en uitvoeren