Hướng dẫn cơ bản về Boxplot trong R: Cách trực quan hóa phân phối dữ liệu

Xin chào các bạn đang học数据分析法师! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của boxplot bằng R. Đừng lo lắng nếu bạn chưa bao giờ viết mã trước đây - tôi sẽ là người hướng dẫn thân thiện của bạn, và chúng ta sẽ cùng nhau từng bước. Cuối cùng của bài hướng dẫn này, bạn sẽ có thể tạo ra những boxplot đẹp như một chuyên gia!

R - Boxplots

Boxplot là gì?

Trước khi chúng ta nhảy vào mã, hãy hiểu boxplot là gì. Hãy tưởng tượng bạn đang cố gắng tóm tắt chiều cao của tất cả học sinh trong lớp của bạn. Boxplot giống như một cái hộp nhỏ hữu ích giúp bạn xem xét sự phân tán của dữ liệu chỉ bằng một cái nhìn. Đây là một cách tuyệt vời để xem median, quartiles và bất kỳ ngoại lệ nào trong dữ liệu của bạn.

Tạo boxplot đầu tiên của bạn

Cài đặt môi trường R

Đầu tiên, hãy chắc chắn rằng chúng ta đã sẵn sàng với R. Nếu bạn chưa cài đặt R, hãy truy cập trang web chính thức của R và làm theo hướng dẫn cài đặt cho hệ điều hành của bạn.

Khi bạn đã cài đặt xong R, mở console R hoặc RStudio nếu bạn đang sử dụng nó. Bây giờ chúng ta đã sẵn sàng để tạo boxplot!

Cú pháp cơ bản của boxplot

Cú pháp cơ bản để tạo boxplot trong R là khá đơn giản. Dưới đây là cách nó trông như thế nào:

boxplot(data)

Hãy thử điều này với một số dữ liệu thực tế. Chúng ta sẽ sử dụng bộ dữ liệu内置 mtcars, chứa thông tin về các mẫu xe khác nhau.

# Tạo boxplot cơ bản của mileage của xe
boxplot(mtcars$mpg)

Khi bạn chạy đoạn mã này, bạn sẽ thấy một boxplot xuất hiện. Hãy phân tích những gì bạn đang thấy:

  • Đường黑色 dày ở giữa hộp là median.
  • Đáy của hộp đại diện cho quartile thứ nhất (25% dữ liệu nằm dưới điểm này).
  • Đỉnh của hộp đại diện cho quartile thứ ba (75% dữ liệu nằm dưới điểm này).
  • Cánh phải (các đường kéo dài từ hộp) cho thấy phạm vi của dữ liệu.
  • Bất kỳ điểm nào vượt ra ngoài cánh phải đều được coi là ngoại lệ.

Thêm màu sắc và nhãn

Bây giờ, hãy làm cho boxplot của chúng ta trở nên hữu ích hơn và hấp dẫn hơn về thị giác:

# Tạo boxplot chi tiết hơn
boxplot(mtcars$mpg,
main="Phân phối Mileage của Xe",
ylab="Dặm trên Gallon",
col="lightblue",
border="darkblue")

Trong ví dụ này:

  • main thêm tiêu đề cho biểu đồ của chúng ta.
  • ylab đặt nhãn cho trục y.
  • col điền hộp với màu xanh lam nhạt.
  • border làm viền của hộp màu xanh lam đậm.

So sánh các nhóm

Một trong những ưu thế của boxplot là khả năng so sánh các nhóm bên cạnh nhau. Hãy so sánh mileage của xe với số lượng xy-lanh khác nhau:

# So sánh mileage cho số lượng xy-lanh khác nhau
boxplot(mpg ~ cyl, data=mtcars,
main="Car Mileage by Number of Cylinders",
xlab="Number of Cylinders",
ylab="Miles Per Gallon",
col=c("lightgreen", "lightblue", "pink"))

Ở đây, chúng ta sử dụng ký hiệu công thức mpg ~ cyl, cho biết R tạo boxplot của mpg cho mỗi giá trị duy nhất trong cyl. Chúng ta cũng thêm màu sắc khác nhau cho mỗi nhóm.

Boxplot với Notch

Bây giờ chúng ta đã thành thạo cơ bản, hãy thêm một chút tinh tế cho boxplot của mình với notches.

Notch là gì?

Notch là một vết lõm nhỏ ở hai bên của hộp. Nó không chỉ để trang trí - nó thực sự giúp chúng ta so sánh median giữa các nhóm. Nếu các notch của hai hộp không chồng lên nhau, đó là bằng chứng mạnh mẽ rằng median của hai nhóm này khác nhau.

Tạo boxplot có Notch

Hãy thay đổi ví dụ trước để bao gồm notches:

# Tạo boxplot có notch
boxplot(mpg ~ cyl, data=mtcars,
main="Car Mileage by Number of Cylinders",
xlab="Number of Cylinders",
ylab="Miles Per Gallon",
col=c("lightgreen", "lightblue", "pink"),
notch=TRUE)

Điều mới duy nhất ở đây là tham số notch=TRUE. Thêm này đơn giản cho chúng ta những notch thông tin.

Giải thích boxplot có Notch

Hãy nhìn kỹ vào các notch. Nếu các notch của hai hộp không chồng lên nhau, chúng ta có thể tự tin rằng median thực sự khác nhau. Đây là một cách nhanh chóng để phát hiện sự khác biệt đáng kể giữa các nhóm!

Tùy chỉnh Boxplot của bạn

Bây giờ bạn đã nắm vững cơ bản, hãy xem xét một số cách để làm cho boxplot của bạn trở nên hữu ích và hấp dẫn hơn về thị giác.

Thêm các điểm dữ liệu cá nhân

Đôi khi rất hữu ích để thấy các điểm dữ liệu thực tế bên cạnh boxplot. Chúng ta có thể làm điều này với hàm jitter:

# Boxplot với các điểm dữ liệu cá nhân
boxplot(mpg ~ cyl, data=mtcars,
main="Car Mileage by Number of Cylinders",
xlab="Number of Cylinders",
ylab="Miles Per Gallon",
col=c("lightgreen", "lightblue", "pink"),
notch=TRUE)

# Thêm các điểm jittered
stripchart(mpg ~ cyl, data=mtcars,
method="jitter",
vertical=TRUE,
add=TRUE,
pch=20,
col="darkgray")

Đoạn mã này trước tiên tạo boxplot, sau đó chồng các điểm dữ liệu lên trên. Tham số pch=20 làm các điểm nhỏ hình tròn, và col="darkgray" màu đen.

Thay đổi ngoại hình của ngoại lệ

Mặc định, ngoại lệ trong boxplot được hiển thị dưới dạng các điểm đơn giản. Chúng ta có thể thay đổi ngoại hình của chúng:

# Ngoại hình của ngoại lệ tùy chỉnh
boxplot(mpg ~ cyl, data=mtcars,
main="Car Mileage by Number of Cylinders",
xlab="Number of Cylinders",
ylab="Miles Per Gallon",
col=c("lightgreen", "lightblue", "pink"),
notch=TRUE,
outpch=8,  # Điểm ngoại lệ hình sao
outcol="red")  # Ngoại lệ màu đỏ

Ở đây, outpch=8 thay đổi điểm ngoại lệ thành hình sao, và outcol="red" làm chúng có màu đỏ.

Kết luận

Chúc mừng! Bạn vừa học cách tạo và tùy chỉnh boxplot trong R. Từ các biểu đồ cơ bản đến so sánh notch và thậm chí thêm các điểm dữ liệu cá nhân, bạn bây giờ đã có một công cụ mạnh mẽ trong bộ công cụ trực quan hóa dữ liệu của mình.

Nhớ rằng, chìa khóa để thành thạo boxplot (và R nói chung) là thực hành. Hãy thử tạo boxplot với các bộ dữ liệu khác nhau, thử nghiệm với màu sắc và phong cách, và quan trọng nhất, hãy vui vẻ với nó!

Dưới đây là bảng tham khảo nhanh các tham số boxplot chúng ta đã xem xét:

Tham số Mô tả Ví dụ
main Tiêu đề chính của biểu đồ main="My Boxplot"
xlab Nhãn cho trục x xlab="Groups"
ylab Nhãn cho trục y ylab="Values"
col Màu điền của hộp col="lightblue"
border Màu viền của hộp border="darkblue"
notch Thêm notch vào hộp notch=TRUE
outpch Hình dạng của điểm ngoại lệ outpch=8
outcol Màu của điểm ngoại lệ outcol="red"

Chúc mừng và may mắn trong việc vẽ biểu đồ, và hy vọng dữ liệu của bạn luôn được đóng hộp một cách đẹp mắt!

Credits: Image by storyset