You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/vi/3-Data-Visualization/R/11-visualization-proportions
leestott 9991bf7fb5
🌐 Update translations via Co-op Translator
3 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

Trực quan hóa tỷ lệ

 Sketchnote của (@sketchthedocs)
Trực quan hóa tỷ lệ - Sketchnote của @nitya

Trong bài học này, bạn sẽ sử dụng một bộ dữ liệu tập trung vào thiên nhiên để trực quan hóa tỷ lệ, chẳng hạn như số lượng các loại nấm khác nhau trong một bộ dữ liệu về nấm. Hãy cùng khám phá những loại nấm thú vị này bằng cách sử dụng một bộ dữ liệu từ Audubon, liệt kê chi tiết về 23 loài nấm có mang thuộc họ Agaricus và Lepiota. Bạn sẽ thử nghiệm với các biểu đồ hấp dẫn như:

  • Biểu đồ tròn 🥧
  • Biểu đồ donut 🍩
  • Biểu đồ waffle 🧇

💡 Một dự án rất thú vị có tên Charticulator của Microsoft Research cung cấp giao diện kéo thả miễn phí để tạo trực quan hóa dữ liệu. Trong một trong các hướng dẫn của họ, họ cũng sử dụng bộ dữ liệu về nấm này! Vì vậy, bạn có thể khám phá dữ liệu và học thư viện cùng lúc: Hướng dẫn Charticulator.

Câu hỏi trước bài giảng

Tìm hiểu về nấm 🍄

Nấm rất thú vị. Hãy nhập một bộ dữ liệu để nghiên cứu chúng:

mushrooms = read.csv('../../data/mushrooms.csv')
head(mushrooms)

Một bảng được in ra với một số dữ liệu tuyệt vời để phân tích:

class cap-shape cap-surface cap-color bruises odor gill-attachment gill-spacing gill-size gill-color stalk-shape stalk-root stalk-surface-above-ring stalk-surface-below-ring stalk-color-above-ring stalk-color-below-ring veil-type veil-color ring-number ring-type spore-print-color population habitat
Độc Lồi Mịn Nâu Có vết Hăng Tự do Sát nhau Hẹp Đen Phình ra Bằng nhau Mịn Mịn Trắng Trắng Một phần Trắng Một Treo Đen Rải rác Đô thị
Ăn được Lồi Mịn Vàng Có vết Hạnh nhân Tự do Sát nhau Rộng Đen Phình ra Câu lạc bộ Mịn Mịn Trắng Trắng Một phần Trắng Một Treo Nâu Nhiều Cỏ
Ăn được Chuông Mịn Trắng Có vết Hồi Tự do Sát nhau Rộng Nâu Phình ra Câu lạc bộ Mịn Mịn Trắng Trắng Một phần Trắng Một Treo Nâu Nhiều Đồng cỏ
Độc Lồi Có vảy Trắng Có vết Hăng Tự do Sát nhau Hẹp Nâu Phình ra Bằng nhau Mịn Mịn Trắng Trắng Một phần Trắng Một Treo Đen Rải rác Đô thị
Ăn được Lồi Mịn Xanh Không có vết Không có Tự do Đông đúc Rộng Đen Thon lại Bằng nhau Mịn Mịn Trắng Trắng Một phần Trắng Một Thoáng qua Nâu Dồi dào Cỏ
Ăn được Lồi Có vảy Vàng Có vết Hạnh nhân Tự do Sát nhau Rộng Nâu Phình ra Câu lạc bộ Mịn Mịn Trắng Trắng Một phần Trắng Một Treo Đen Nhiều Cỏ

Ngay lập tức, bạn nhận thấy rằng tất cả dữ liệu đều là dạng văn bản. Bạn sẽ phải chuyển đổi dữ liệu này để có thể sử dụng nó trong biểu đồ. Thực tế, hầu hết dữ liệu được biểu diễn dưới dạng đối tượng:

names(mushrooms)

Kết quả là:

[1] "class"                    "cap.shape"               
 [3] "cap.surface"              "cap.color"               
 [5] "bruises"                  "odor"                    
 [7] "gill.attachment"          "gill.spacing"            
 [9] "gill.size"                "gill.color"              
[11] "stalk.shape"              "stalk.root"              
[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
[15] "stalk.color.above.ring"   "stalk.color.below.ring"  
[17] "veil.type"                "veil.color"              
[19] "ring.number"              "ring.type"               
[21] "spore.print.color"        "population"              
[23] "habitat"            

Hãy lấy dữ liệu này và chuyển đổi cột 'class' thành một danh mục:

library(dplyr)
grouped=mushrooms %>%
  group_by(class) %>%
  summarise(count=n())

Bây giờ, nếu bạn in dữ liệu về nấm, bạn có thể thấy rằng nó đã được nhóm thành các danh mục theo lớp độc/ăn được:

View(grouped)
class count
Ăn được 4208
Độc 3916

Nếu bạn làm theo thứ tự được trình bày trong bảng này để tạo nhãn danh mục lớp, bạn có thể tạo một biểu đồ tròn.

Biểu đồ tròn!

pie(grouped$count,grouped$class, main="Edible?")

Voila, một biểu đồ tròn hiển thị tỷ lệ của dữ liệu này theo hai lớp nấm. Điều rất quan trọng là phải sắp xếp đúng thứ tự của các nhãn, đặc biệt ở đây, vì vậy hãy chắc chắn kiểm tra thứ tự mà mảng nhãn được xây dựng!

biểu đồ tròn

Biểu đồ donut!

Một biểu đồ tròn thú vị hơn về mặt hình ảnh là biểu đồ donut, là một biểu đồ tròn với một lỗ ở giữa. Hãy xem dữ liệu của chúng ta bằng phương pháp này.

Hãy xem các môi trường sống khác nhau nơi nấm phát triển:

library(dplyr)
habitat=mushrooms %>%
  group_by(habitat) %>%
  summarise(count=n())
View(habitat)

Kết quả là:

habitat count
Cỏ 2148
832
Đồng cỏ 292
Đường mòn 1144
Đô thị 368
Rác thải 192
Gỗ 3148

Ở đây, bạn đang nhóm dữ liệu của mình theo môi trường sống. Có 7 môi trường sống được liệt kê, vì vậy hãy sử dụng chúng làm nhãn cho biểu đồ donut của bạn:

library(ggplot2)
library(webr)
PieDonut(habitat, aes(habitat, count=count))

biểu đồ donut

Đoạn mã này sử dụng hai thư viện - ggplot2 và webr. Sử dụng hàm PieDonut của thư viện webr, chúng ta có thể dễ dàng tạo biểu đồ donut!

Biểu đồ donut trong R cũng có thể được tạo chỉ bằng thư viện ggplot2. Bạn có thể tìm hiểu thêm về nó tại đây và thử nghiệm.

Bây giờ bạn đã biết cách nhóm dữ liệu của mình và hiển thị nó dưới dạng biểu đồ tròn hoặc donut, bạn có thể khám phá các loại biểu đồ khác. Hãy thử biểu đồ waffle, một cách khác để khám phá số lượng.

Biểu đồ waffle!

Biểu đồ kiểu 'waffle' là một cách khác để trực quan hóa số lượng dưới dạng mảng 2D các ô vuông. Hãy thử trực quan hóa số lượng màu sắc của mũ nấm trong bộ dữ liệu này. Để làm điều này, bạn cần cài đặt một thư viện hỗ trợ có tên waffle và sử dụng nó để tạo trực quan hóa của bạn:

install.packages("waffle", repos = "https://cinc.rud.is")

Chọn một phần dữ liệu của bạn để nhóm:

library(dplyr)
cap_color=mushrooms %>%
  group_by(cap.color) %>%
  summarise(count=n())
View(cap_color)

Tạo biểu đồ waffle bằng cách tạo nhãn và sau đó nhóm dữ liệu của bạn:

library(waffle)
names(cap_color$count) = paste0(cap_color$cap.color)
waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green", 
                                                                                     "pink", "purple", "red", "grey", 
                                                                                     "yellow","white"))

Sử dụng biểu đồ waffle, bạn có thể dễ dàng thấy tỷ lệ màu sắc của mũ nấm trong bộ dữ liệu này. Thật thú vị, có rất nhiều nấm có mũ màu xanh lá cây!

biểu đồ waffle

Trong bài học này, bạn đã học ba cách để trực quan hóa tỷ lệ. Đầu tiên, bạn cần nhóm dữ liệu của mình thành các danh mục và sau đó quyết định cách tốt nhất để hiển thị dữ liệu - biểu đồ tròn, donut, hoặc waffle. Tất cả đều hấp dẫn và mang lại cho người dùng một cái nhìn nhanh về bộ dữ liệu.

🚀 Thử thách

Hãy thử tạo lại các biểu đồ hấp dẫn này trong Charticulator.

Câu hỏi sau bài giảng

Ôn tập & Tự học

Đôi khi không rõ ràng khi nào nên sử dụng biểu đồ tròn, donut, hoặc waffle. Dưới đây là một số bài viết để đọc về chủ đề này:

https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart

https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce

https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm

https://medium.datadriveninvestor.com/data-visualization-done-the-right-way-with-tableau-waffle-chart-fdf2a19be402

Hãy nghiên cứu thêm để tìm hiểu thêm thông tin về quyết định khó khăn này.

Bài tập

Thử nghiệm trong Excel


Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với các thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp từ con người. Chúng tôi không chịu trách nhiệm về bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.