Chào các bạn đồng nghiệp tương lai và hiện tại của MedAcademy! Chúng mình biết rằng, giữa bộn bề công việc lâm sàng và học tập, việc tiếp cận và xử lý dữ liệu y sinh đôi khi có thể là một thách thức lớn
. Câu hỏi đặt ra là: Làm thế nào để “biến” đống dữ liệu khô khan thành những thông tin hữu ích, hỗ trợ đắc lực cho quyết định lâm sàng và các công trình nghiên cứu khoa học? 


Trong lĩnh vực y sinh, phân tích dữ liệu đóng vai trò then chốt. Nó không chỉ giúp chúng mình hiểu rõ hơn về cơ chế bệnh sinh, mà còn hỗ trợ chẩn đoán chính xác và lựa chọn phác đồ điều trị tối ưu. Hôm nay, chúng mình sẽ cùng nhau khám phá bộ 3 “vũ khí” lợi hại trong thế giới phân tích dữ liệu y sinh, đó là: `tidyverse`, `ggpubr` và `pheatmap`. Các bạn đừng lo lắng, chúng mình sẽ cố gắng trình bày một cách dễ hiểu nhất để ai cũng có thể “bắt nhịp” được nhé! 



Ví dụ: Trong một nghiên cứu về bệnh tiểu đường, chúng ta có thể sử dụng `dplyr` để lọc ra những bệnh nhân có chỉ số HbA1c cao hơn 7%, sau đó dùng `ggplot2` để vẽ biểu đồ phân bố tuổi của nhóm bệnh nhân này. 



Ví dụ: Chúng ta có thể sử dụng `ggpubr` để so sánh hiệu quả của hai loại thuốc điều trị tăng huyết áp trên hai nhóm bệnh nhân khác nhau, đồng thời hiển thị giá trị p-value trực tiếp trên biểu đồ để đánh giá sự khác biệt có ý nghĩa thống kê. 



Ví dụ: Trong nghiên cứu về ung thư, chúng ta có thể sử dụng `pheatmap` để biểu diễn mức độ biểu hiện của hàng ngàn gene trên các mẫu bệnh phẩm khác nhau, từ đó phát hiện ra những gene có vai trò quan trọng trong quá trình phát triển của bệnh. 



1. Cài đặt các package: Mở R hoặc RStudio và gõ lệnh: `install.packages(c(“tidyverse”, “ggpubr”, “pheatmap”))`
2. Tải các package: `library(tidyverse)`, `library(ggpubr)`, `library(pheatmap)`
Ví dụ code đơn giản:
“`r
# Tidyverse
library(dplyr)
library(ggplot2)
data <- data.frame(age = rnorm(100, mean = 40, sd = 10), group = sample(c(“A”, “B”), 100, replace = TRUE))
data %>% filter(age > 30) %>% ggplot(aes(x = age)) + geom_histogram()
# Ggpubr
library(ggpubr)
data$result <- rnorm(100, mean = ifelse(data$group == “A”, 5, 7), sd = 2)
ggbarplot(data, x = “group”, y = “result”, stat = “identity”)
# Pheatmap
library(pheatmap)
data_matrix <- matrix(rnorm(100), nrow = 10)
pheatmap(data_matrix, cluster_rows = TRUE, cluster_columns = TRUE)
“`

Advertisement