Sets aggregieren, um ihre Unterschiede zu betrachten
Um zwei einzelne Sets und die Arten von LEGO-Steinen, aus denen sie bestehen, zu vergleichen, müssen wir die Daten nach Themes aggregieren. Außerdem möchten wir, wie im Video gesehen, eine Spalte hinzufügen, damit wir die Anteile bestimmter Teile pro Set verstehen können, statt nur die Anzahl der Teile zu betrachten.
Die Tabelle inventory_parts_themes wurde für dich vorab geladen.
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"))
Diese Übung ist Teil des Kurses
Daten mit dplyr verknüpfen
Anleitung zur Übung
- Füge einen Filter für das Theme
"Batman"hinzu, um das Objektbatman_colorszu erzeugen. - Füge
batman_colorseine Spaltefractionhinzu, dietotaldurch die Summe vontotalteilt. - Wiederhole die Schritte, um die Set-Daten für
"Star Wars"zu filtern und zu aggregieren, und erstelle das Objektstar_wars_colors. - Füge
star_wars_colorseine Spaltefractionhinzu, die den Anteil vontotalanzeigt.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 %>%
___