Агрегирование наборов для анализа различий
Чтобы сравнить два отдельных набора и виды деталей LEGO, из которых они состоят, нам нужно агрегировать данные по темам. Кроме того, как мы видели в видео, полезно добавить столбец с долями конкретных деталей в каждом наборе — это нагляднее, чем просто смотреть на абсолютное количество.
Таблица inventory_parts_themes уже загружена для вас.
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"))
Это упражнение является частью курса
Объединение данных с dplyr
Инструкции к упражнению
- Добавьте фильтр по теме
"Batman", чтобы создать объектbatman_colors. - Добавьте в
batman_colorsстолбецfraction, который отображает общее количество, делённое на сумму всех значений. - Повторите те же шаги для фильтрации и агрегирования данных набора
"Star Wars", чтобы создать объектstar_wars_colors. - Добавьте в
star_wars_colorsстолбецfractionдля отображения доли от общего количества.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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 %>%
___