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
Oefeninstructies
- Voeg een filter toe voor het
"Batman"-thema om het objectbatman_colorste maken. - Voeg een kolom
fractiontoe aanbatman_colorsdie het totaal deelt door de som van het totaal. - Herhaal de stappen om de
"Star Wars"-setgegevens te filteren en aggregeren en maak het objectstar_wars_colors. - Voeg een kolom
fractiontoe aanstar_wars_colorsom 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 %>%
___