Agregowanie zestawów w celu porównania różnic
Aby porównać dwa konkretne zestawy LEGO oraz rodzaje klocków, z których się składają, musimy zagregować dane według motywów. Jak pokazano w filmie, warto też dodać kolumnę z udziałem procentowym poszczególnych klocków w zestawie – sama liczba elementów nie wystarczy do pełnego porównania.
Tabela inventory_parts_themes została dla ciebie wczytana.
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"))
To ćwiczenie jest częścią kursu
Łączenie danych z dplyr
Instrukcje do ćwiczenia
- Dodaj filtr dla motywu
"Batman", aby utworzyć obiektbatman_colors. - Dodaj do
batman_colorskolumnęfraction, która wyświetla łączną liczbę podzieloną przez sumę wszystkich elementów. - Powtórz te kroki, aby przefiltrować i zagregować dane zestawu
"Star Wars"i utworzyć obiektstar_wars_colors. - Dodaj do
star_wars_colorskolumnęfractionpokazującą udział danego koloru w łącznej liczbie elementów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 %>%
___