1 PHẦN 1: TỔNG QUAN VỀ R-STUDIO VÀ R MARKDOWN

Chào mừng các bạn đến với phần thực hành của Buổi 2. Trước khi bắt tay vào phân tích dữ liệu lâm sàng, chúng ta cần làm quen với “Người bạn” của mình: phần mềm RStudio.

1.1 1.1 Giao diện của RStudio hoạt động ra sao?

Giao diện RStudio được chia thành 4 bảng (Panes) chính:

  • Source (Góc trên trái): Nơi bạn viết kịch bản code (file R script hoặc R Markdown). Đây là nơi bạn suy nghĩ và soạn thảo.
  • Console (Góc dưới trái): “Trái tim” của R. Nơi máy tính trực tiếp thực thi lệnh và in ra kết quả. Nếu R báo lỗi chữ đỏ, nó sẽ hiện ở đây.
  • Environment/History (Góc trên phải): Nơi chứa các biến số, bảng dữ liệu (Data Frame) mà bạn đã nhập vào. Nó giống như “kho chứa bệnh án”.
  • Files/Plots/Packages/Help (Góc dưới phải): Nơi hiển thị các biểu đồ (Plots) bạn vừa vẽ, quản lý tệp tin và cài đặt các gói công cụ (Packages).

1.2 1.2 Hướng dẫn viết R Markdown (Rmd)

Trong nghiên cứu Y khoa chuẩn Q1, chúng ta không dùng Excel, mà dùng R Markdown để đảm bảo tính tái lập (Reproducibility). Một file Rmd kết hợp cả 2 yếu tố:

  1. Văn bản (Markdown): Nơi bạn viết báo cáo, biện luận lâm sàng, nhận xét số liệu.
  2. Khối mã lệnh (Code Chunks): Nơi bạn gõ code R. Máy tính sẽ chỉ chạy code nằm trong các khối màu xám này.

Cách định dạng văn bản (Format):

  • Thêm # trước dòng chữ để tạo Tiêu đề 1 (Cỡ chữ to nhất).
  • Thêm ## để tạo Tiêu đề 2, ### cho Tiêu đề 3.
  • Dùng dấu sao *chữ nghiêng* để tạo chữ nghiêng, và **chữ đậm** để nhấn mạnh.

2 PHẦN 2: VÍ DỤ MẪU (TEMPLATE)

Dưới đây là ví dụ cách trình bày một phân tích trong Rmd để các bạn xem như một tài liệu tham khảo chuẩn mực.

2.1 2.1 Ví dụ về tính toán và vẽ biểu đồ

Giả sử chúng ta muốn mô phỏng một phép tính huyết áp trung bình và vẽ biểu đồ. Các bạn sẽ chèn một khối lệnh (Code Chunk) như sau:

# Đây là phần gõ code (Các dòng có dấu # là dòng ghi chú, máy sẽ không đọc)

# Tạo ra 100 số đo huyết áp mô phỏng với trung bình 120, độ lệch chuẩn 10
huyet_ap <- rnorm(n = 100, mean = 120, sd = 10)

# Vẽ biểu đồ phân phối tần số (Histogram)
hist(
  huyet_ap,
  col = "lightblue",
  main = "Biểu đồ phân phối Huyết áp",
  xlab = "Huyết áp tâm thu (mmHg)"
)

Nhận xét lâm sàng: Biểu đồ trên cho thấy huyết áp phân bố chuẩn (hình quả chuông), tập trung nhiều nhất ở mức 120 mmHg.


3 PHẦN 3: BÀI TẬP VỀ NHÀ

3.0.1 Giới thiệu Dữ liệu (Raw Data)

Dữ liệu gồm 6 biến số: ID, Age, Gender, Heart_Rate, Weight, Income.

Yêu cầu chung: Các bạn hãy mở RStudio, tạo một file R Markdown mới. Copy các câu hỏi dưới đây vào và tiến hành giải quyết. Ở mỗi bước, BẮT BUỘC phải viết dòng suy nghĩ/cảm nghĩ của bạn ra văn bản.


3.1 BÀI 1: KHÁM BỆNH CHO DỮ LIỆU THÔ

Nhiệm vụ:

  • Cài đặt và tải các gói thư viện pacman, rio, tidyverse.
  • Dùng hàm rio::import() để nạp file dữ liệu vào.
  • Dùng hàm summary()glimpse() để kiểm tra tổng quan.

[CẢM NGHĨ VÀ TƯ DUY CỦA BẠN]

Câu hỏi: Từ kết quả summary(), bạn phát hiện ra những điểm bất thường (Outliers) nào vô lí về mặt sinh học? Ở biến Gender, bạn thấy người nhập liệu đã gây ra thảm họa gì?

Trả lời: (Sinh viên tự gõ câu trả lời vào đây…)


3.2 BÀI 2: LÀM SẠCH DỮ LIỆU (DATA CLEANING)

Nhiệm vụ:

  • Dùng ngữ pháp dplyr (mutate, filter, ifelse, case_when) để dọn dẹp.
  • Đổi các lỗi tuổi vô lí thành NA.
  • Đưa biến Gender về một chuẩn duy nhất là "Male""Female".
  • Lưu tất cả vào một bảng dữ liệu mới tên là df_clean.

[CẢM NGHĨ VÀ TƯ DUY CỦA BẠN]

Câu hỏi: So sánh bảng dữ liệu trước và sau khi làm sạch, bạn cảm thấy thế nào về vai trò của việc mã hóa dữ liệu?

Trả lời: …………………………………………………..


3.3 BÀI 3: KHOẢNG TRỐNG TỬ THẦN (MISSING DATA)

Trong bộ dữ liệu của bạn, có rất nhiều ô trống (NA). Trong dịch tễ học, chúng được chia làm 3 cơ chế:

  • MCAR – Missing Completely At Random
  • MAR – Missing At Random
  • MNAR – Missing Not At Random

[CẢM NGHĨ VÀ TƯ DUY CỦA BẠN]

Câu hỏi 3.1: Dựa vào lý thuyết Buổi 2, hãy áp định nghĩa và phân loại chính xác 3 cơ chế cho 3 cột biến số trên. Giải thích lí do.

Trả lời: …………………………………………………..


4 TÀI LIỆU THAM KHẢO

  1. Batra, N. et al. (2021). The Epidemiologist R Handbook. Link: https://epirhandbook.com

  2. Holmes, D. (2018). Reproducible Research: Write your Clinical Chemistry paper using R Markdown. DOI: https://doi.org/10.1373/clinchem.2017.272120

  3. Wickham H., Grolemund G. (2017). R for Data Science. DOI: https://doi.org/10.1201/9781003116413 Link: https://r4ds.had.co.nz/


5 HẾT. Chúc các bạn hoàn thành tốt bài tập.