Xin chào các bạn đồng nghiệp tương lai và những chiến binh áo trắng!
Chúng mình biết rằng trong nghiên cứu y khoa và thực hành lâm sàng, việc trình bày dữ liệu một cách trực quan và dễ hiểu là vô cùng quan trọng. Một biểu đồ “ăn ảnh” không chỉ giúp chúng ta “ghi điểm” trong các buổi báo cáo mà còn giúp khám phá ra những insight giá trị từ dữ liệu nữa đó!
Đặc biệt là dân Y khoa làm được ngay! 
Nâng tầm nghiên cứu y khoa!




Hôm nay, chúng mình sẽ chia sẻ bí kíp tạo biểu đồ chuyên nghiệp chỉ trong nháy mắt với R, một công cụ thống kê cực mạnh mẽ, mà không cần phải là “coder” chuyên nghiệp đâu nha! 

1. Vì sao dân Y khoa mình cần biểu đồ “xịn”? 





Ví dụ nè:
* Trong một nghiên cứu về hiệu quả của thuốc A trên bệnh nhân tăng huyết áp, biểu đồ hộp (boxplot) có thể giúp so sánh mức huyết áp trung bình giữa nhóm dùng thuốc A và nhóm dùng giả dược, từ đó đánh giá hiệu quả của thuốc.
* Khi nghiên cứu mối liên hệ giữa chỉ số BMI và chỉ số đường huyết lúc đói, biểu đồ điểm (scatter plot) sẽ giúp chúng ta thấy được mối tương quan giữa hai biến số này, và xác định ngưỡng BMI có nguy cơ cao.
2. R và ggplot2 là gì? Sao “ngon” vậy? 

R là một ngôn ngữ lập trình và môi trường phần mềm chuyên dụng cho thống kê và phân tích dữ liệu. Nghe “lập trình” có vẻ ghê gớm, nhưng đừng lo! Với sự trợ giúp của thư viện ggplot2, việc tạo biểu đồ trở nên đơn giản như “ăn kẹo” luôn! 

ggplot2 là một thư viện R mạnh mẽ, cho phép chúng ta tạo ra những biểu đồ đẹp mắt, chuyên nghiệp và dễ dàng tùy chỉnh. Điểm đặc biệt của ggplot2 là nó dựa trên “grammar of graphics” (ngữ pháp của đồ họa), giúp chúng ta xây dựng biểu đồ từ các thành phần cơ bản như dữ liệu, ánh xạ, hình học, hệ tọa độ,…Nói nôm na, ggplot2 biến biểu đồ thành các layer (lớp) để chúng mình tư duy dữ liệu thành từng cấu phần. 


3. Dùng R tạo biểu đồ siêu tốc! 

Okay, giờ chúng mình sẽ “thực chiến” với một vài ví dụ cơ bản nhé!
* Biểu đồ Histogram (phân phối tần suất):
Giả sử, chúng ta muốn xem phân phối độ tuổi của bệnh nhân trong một nghiên cứu. Đoạn code R sẽ như sau:
“`R
library(ggplot2)
Giả sử ‘data’ là data frame chứa dữ liệu và ‘age’ là biến số tuổi
ggplot(data, aes(x = age)) +
geom_histogram(binwidth = 5, fill = “skyblue”, color = “black”) +
labs(title = “Phân phối độ tuổi bệnh nhân”,
x = “Độ tuổi”,
y = “Số lượng bệnh nhân”) +
theme_classic()
“`
Đoạn code này sẽ tạo ra một biểu đồ histogram, với trục x là độ tuổi, trục y là số lượng bệnh nhân, và các cột được tô màu xanh da trời.
* Biểu đồ barplot (so sánh các nhóm):
Giả sử, chúng ta muốn so sánh tỷ lệ mắc bệnh tim mạch giữa nam và nữ. Đoạn code R sẽ như sau:
“`R
ggplot(data, aes(x = gender, fill = gender)) +
geom_bar() +
labs(title = “Tỷ lệ mắc bệnh tim mạch theo giới tính”,
x = “Giới tính”,
y = “Số lượng bệnh nhân”) +
theme_classic()
“`
Trong đó, ‘gender’ là biến chỉ giới tính (nam/nữ).
* Biểu đồ boxplot (so sánh các phân vị):
Nếu chúng ta muốn so sánh thời gian phục hồi sau phẫu thuật giữa các nhóm bệnh nhân khác nhau (ví dụ: theo mức độ bệnh), chúng ta có thể dùng biểu đồ hộp:
“`R
ggplot(data, aes(x = severity, y = recovery_time)) +
geom_boxplot() +
labs(title = “Thời gian phục hồi sau phẫu thuật theo mức độ bệnh”,
x = “Mức độ bệnh”,
y = “Thời gian phục hồi (ngày)”) +
theme_classic()
“`
‘severity’ là biến chỉ mức độ bệnh (nhẹ/vừa/nặng), và ‘recovery_time’ là thời gian phục hồi.
* Biểu đồ Điểm (mối tương quan):
Để khảo sát mối liên hệ giữa nồng độ cholesterol và nguy cơ đột quỵ, chúng ta có thể vẽ biểu đồ điểm:
“`R
ggplot(data, aes(x = cholesterol, y = stroke_risk)) +
geom_point() +
labs(title = “Mối liên hệ giữa nồng độ cholesterol và nguy cơ đột quỵ”,
x = “Nồng độ cholesterol (mg/dL)”,
y = “Nguy cơ đột quỵ”) +
theme_classic()
“`
4. “Biến hóa” biểu đồ theo ý thích! 

ggplot2 cho phép chúng ta tùy chỉnh biểu đồ một cách dễ dàng. Chúng ta có thể thay đổi màu sắc, kích thước, font chữ, thêm tiêu đề, nhãn trục, chú thích, và nhiều hơn nữa. Ví dụ, để thay đổi theme của biểu đồ, chúng ta có thể thêm `theme_bw()`, `theme_minimal()`, hoặc `theme_void()` vào cuối đoạn code.
5. “Thực chiến” với dữ liệu y khoa! 



Để áp dụng những kiến thức trên vào thực tế, chúng ta có thể tải dữ liệu từ các nghiên cứu y khoa công khai (ví dụ: từ các bài báo khoa học, cơ sở dữ liệu trực tuyến). Sau đó, chúng ta có thể sử dụng R để phân tích dữ liệu và tạo ra những biểu đồ trực quan, giúp chúng ta khám phá ra những thông tin giá trị.

Advertisement