Xoay xở với geom_bar
Trong khi geom_col() yêu cầu bạn truyền vào cột ánh xạ cho trục y, thì geom_bar() lại không nhận tham số cho trục y (ít nhất là theo mặc định).
Thay vào đó, geom_bar() chỉ nhận ánh xạ trục x, đếm từng quan sát (hay từng hàng của data frame được truyền vào) cho mỗi nhóm và vẽ các cột với chiều cao tương ứng.
Hai khối mã dưới đây sẽ cho bạn cùng một biểu đồ:
# geom_col()
data %>%
groupby(xAxisCol) %>%
summarize(value = n()) %>%
ggplot(aes(x = xAxisCol, y = value) +
geom_col()
# geom_bar()
data %>%
ggplot(aes(x = xAxisCol)) +
geom_bar()
Hãy dùng geom_bar() để xem các quan sát có số ca lớn theo vùng trong dữ liệu WHO của chúng ta.
Bài tập này là một phần của khóa học
Thực hành tốt nhất về trực quan hóa trong R
Hướng dẫn bài tập
- Dùng
filter()để lọcwho_diseasechỉ còn các quan sát (hàng) có số ca lớn hơn1000. - Ánh xạ trục x tới cột
region. - Thêm
geom_bar()vào đối tượng biểu đồ để vẽ các cột.
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.
who_disease %>%
# filter data to observations of greater than 1,000 cases
___ %>%
# map the x-axis to the region column
ggplot() +
# add a geom_bar call
___