Tự động tạo biểu đồ phân mảnh (faceting)
Trong bài trước, bạn đã tự tạo một biểu đồ phân tán có phân mảnh (faceted scatterplot). Việc này không quá mất công vì bạn chỉ tập trung vào hai nhóm. Tuy nhiên, có 6 nền tảng (platform) trong tập dữ liệu vgsales2016, và sẽ rất tốn công nếu phải viết tay 6 biểu đồ phân tán.
Trong bài này, bạn sẽ luyện tập dùng group_by(), nest(), mutate(), và map2() để tự động hóa việc tạo biểu đồ phân tán có phân mảnh theo mẫu sau:
data %>%
group_by(factor) %>%
nest() %>%
mutate(
plot = map2(data, factor,
\(data, factor)
plot_ly(data = data, x = ~x, y = ~y) %>%
add_markers(name = ~factor)
)) %>%
subplot(nrows = R, shareY = TRUE, shareX = TRUE)
Bài tập này là một phần của khóa học
Trực quan hóa dữ liệu tương tác với plotly trong R
Hướng dẫn bài tập
- Dùng
group_by(),nest(),mutate(), vàmap2()để tạo một biểu đồ phân tán có phân mảnh, vớiCritic_Scoretrên trục x vàUser_Scoretrên trục y, trong đó các mảnh (facets) được xác định bởiPlatform. - Sắp xếp các mảnh thành lưới 3 hàng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Create a faceted scatterplot of User_Score vs. Critic_Score with 3 rows
vgsales2016 %>%
___(___) %>%
___() %>%
mutate(
plot = ___(
___, ___,
\(data, Platform)
)) %>%
subplot(nrows = ___, shareY = TRUE, shareX = TRUE)