Thống kê mô tả và trực quan hóa bằng R giúp bạn trả lời câu hỏi đầu tiên của mọi chương kết quả: mẫu nghiên cứu trông như thế nào. Với biến định lượng, bạn báo cáo xu hướng trung tâm và độ phân tán; với biến phân loại, bạn báo cáo tần số và tỷ lệ. Biểu đồ đi kèm cho thấy hình dạng phân phối mà con số khó diễn đạt hết.
Bài viết hướng dẫn cách chọn chỉ số theo loại biến, cách tạo bảng tóm tắt bằng các gói phổ biến, cách chọn biểu đồ với ggplot2 và cách viết lời diễn giải. Ví dụ minh họa dựa trên một khảo sát giả định về thời gian tự học của sinh viên, có biến giới tính, năm học và điểm trung bình tích lũy.
Tóm tắt nhanh: loại biến quyết định chỉ số và biểu đồ, không phải thói quen hay phần mềm.
Phân phối lệch thì ưu tiên trung vị và khoảng tứ phân vị; mỗi biểu đồ trong luận văn cần một câu nhận xét đi kèm.
Chọn chỉ số mô tả theo loại biến
Sai lầm phổ biến nhất là tính trung bình cho mọi cột chỉ vì R cho phép làm vậy. Trước khi tóm tắt, hãy xác định mỗi biến thuộc loại nào: định danh, thứ bậc, khoảng hay tỷ lệ. Bảng dưới đây gợi ý cách ghép loại biến với chỉ số, hàm R và biểu đồ tương ứng.
| Loại biến | Ví dụ minh họa | Chỉ số nên báo cáo | Hàm R gợi ý | Biểu đồ phù hợp |
|---|---|---|---|---|
| Định danh | Giới tính, ngành học | Tần số, tỷ lệ phần trăm | table(), prop.table(), count() | Biểu đồ cột |
| Thứ bậc | Năm học, mức thu nhập theo nhóm | Tần số, tỷ lệ, có thể thêm trung vị | count() kết hợp factor có thứ tự | Biểu đồ cột theo thứ tự |
| Định lượng, gần đối xứng | Điểm trung bình tích lũy | Trung bình, độ lệch chuẩn | mean(), sd() | Histogram, biểu đồ hộp |
| Định lượng, lệch | Số giờ tự học mỗi tuần | Trung vị, khoảng tứ phân vị | median(), IQR() | Biểu đồ hộp, histogram |
| Điểm thang đo Likert | Trung bình các câu hài lòng | Trung bình, độ lệch chuẩn, min, max | psych::describe() | Biểu đồ hộp theo nhóm |
Trung bình hay trung vị?
Trung bình nhạy với giá trị cực đoan: chỉ vài sinh viên tự học năm mươi giờ mỗi tuần cũng kéo trung bình lên rõ rệt. Khi histogram lệch hẳn về một phía, trung vị kèm khoảng tứ phân vị phản ánh mẫu trung thực hơn. Gói psych cung cấp thêm độ lệch (skewness) và độ nhọn (kurtosis) để bạn có căn cứ định lượng cho nhận định này.
Thang Likert: từng câu hay cả thang đo?
Với từng câu hỏi Likert, nhiều giảng viên chấp nhận báo cáo trung bình và độ lệch chuẩn, số khác yêu cầu tần số từng mức vì đây về bản chất là dữ liệu thứ bậc. Điểm thang đo, tức trung bình của nhiều câu, thường được xem gần với biến định lượng hơn. Hãy hỏi giảng viên hướng dẫn quy ước của khoa trước khi chọn.
Tóm tắt dữ liệu trong R
R có nhiều cách tóm tắt, từ hàm cơ bản đến gói chuyên dụng xuất bảng đẹp. Bạn nên bắt đầu bằng cái nhìn tổng quát để phát hiện vấn đề, sau đó mới tạo bảng chính thức cho luận văn. Hai giai đoạn này phục vụ hai mục đích khác nhau nên dùng công cụ khác nhau.
Xem nhanh bằng summary và skimr
Hàm summary() cho giá trị nhỏ nhất, tứ phân vị, trung bình và số NA của từng cột chỉ trong một lệnh. Gói skimr với hàm skim() trình bày gọn hơn, tách riêng biến số và biến phân loại, kèm histogram thu nhỏ ngay trong Console. Đây là bước kiểm tra, không phải bảng để dán vào luận văn.
Bảng mô tả theo nhóm với dplyr
Khi cần so sánh giữa các nhóm, kết hợp group_by() với summarise() để tính số quan sát, trung bình và độ lệch chuẩn cho từng nhóm. Ví dụ minh họa: nhóm theo năm học rồi tính trung vị số giờ tự học, bạn sẽ thấy ngay xu hướng giữa sinh viên năm nhất và năm cuối. Kết quả trả về là một bảng dữ liệu nên có thể xuất thẳng ra tệp.
Xuất bảng đặc điểm mẫu bằng gtsummary
Gói gtsummary với hàm tbl_summary() tạo bảng đặc điểm mẫu theo phong cách bài báo khoa học, tự chọn tần số cho biến phân loại và trung vị cho biến số. Bạn có thể đổi sang trung bình và độ lệch chuẩn bằng đối số statistic, rồi xuất sang Word qua gói flextable. Hãy kiểm tra lại nhãn biến và đơn vị trước khi dán vào bản thảo.
Chọn biểu đồ khi trực quan hóa bằng ggplot2
Gói ggplot2 xây biểu đồ theo từng lớp: dữ liệu, ánh xạ thẩm mỹ, hình học và giao diện. Cách tiếp cận này giúp bạn đổi loại biểu đồ chỉ bằng cách thay một lớp hình học. Điều quan trọng là chọn đúng loại biểu đồ cho câu hỏi bạn muốn trả lời.
Phân phối của một biến
Với biến định lượng, geom_histogram() cho thấy hình dạng phân phối, còn geom_density() làm mượt đường viền. Hãy thử vài độ rộng cột khác nhau, vì độ rộng mặc định có thể che mất đặc điểm như hai đỉnh. Với biến phân loại, geom_bar() đếm tần số từng nhóm; sắp cột theo thứ tự có nghĩa thay vì theo bảng chữ cái.
So sánh giữa các nhóm và quan hệ hai biến
Danh sách dưới đây tóm tắt lựa chọn phổ biến theo mục đích:
- So sánh phân phối giữa nhóm: geom_boxplot(), có thể chồng thêm điểm dữ liệu bằng geom_jitter() khi mẫu nhỏ.
- So sánh tỷ lệ giữa nhóm: biểu đồ cột xếp chồng theo phần trăm, mỗi cột cộng đủ 100%.
- Quan hệ hai biến định lượng: geom_point(), thêm đường xu hướng bằng geom_smooth() để gợi ý dạng quan hệ.
- Xu hướng theo thời gian: geom_line(), trục hoành là thời điểm đo.
Đưa thống kê mô tả và trực quan hóa bằng R vào luận văn
Một biểu đồ không có lời bình buộc hội đồng tự suy luận, và họ có thể suy luận khác bạn. Mỗi hình nên đi kèm hai đến ba câu nêu điều quan trọng nhất người đọc cần thấy. Phần này cũng là nơi bạn nối kết quả mô tả với câu hỏi nghiên cứu, chuẩn bị cho các phân tích suy luận phía sau.
Viết lời bình cho biểu đồ
Một lời bình đủ ý cho biểu đồ thường có ba thành phần:
- Xu hướng chính hoặc hình dạng phân phối, chẳng hạn lệch phải hay có hai đỉnh.
- Mức chênh lệch đáng chú ý giữa các nhóm, kèm con số cụ thể từ bảng mô tả.
- Điểm bất thường cần lưu ý cho các phân tích tiếp theo.
Ví dụ minh họa: “Số giờ tự học lệch phải, phần lớn sinh viên học dưới mười giờ mỗi tuần, một số ít vượt ba mươi giờ”. Tránh suy diễn nhân quả từ thống kê mô tả, vì so sánh nhóm ở đây chưa qua kiểm định.
Quy cách trình bày bảng và hình
Bảng và hình cần được đánh số, có tiêu đề rõ ràng, ghi chú đơn vị và nguồn dữ liệu. Hướng dẫn bảng và hình theo APA là chuẩn tham khảo phổ biến; nếu trường có quy định riêng, bạn theo quy định của trường. Khi lưu hình bằng ggsave(), hãy cố định kích thước để chữ trên trục đọc được khi in.
Kinh nghiệm từ Luận Văn 360: nhiều chương kết quả chúng tôi rà soát có hơn chục biểu đồ tròn cho từng biến nhân khẩu học, mỗi hình chiếm nửa trang.
Một bảng đặc điểm mẫu duy nhất thường truyền tải đủ thông tin mà gọn hơn nhiều. Hãy dành biểu đồ cho những phát hiện cần người đọc nhìn thấy hình dạng.
Nếu bạn muốn có người góp ý về cách chọn chỉ số và biểu đồ cho bộ dữ liệu của mình, dịch vụ hỗ trợ phân tích dữ liệu bằng R của Luận Văn 360 có thể rà soát bảng, hình và lời diễn giải để bạn tự hoàn thiện.
Lỗi thường gặp khi mô tả dữ liệu
Báo cáo quá nhiều chữ số thập phân
Kết quả từ R thường có sáu, bảy chữ số sau dấu phẩy. Hãy làm tròn bằng round() theo quy ước thống nhất, thường là hai chữ số cho trung bình và độ lệch chuẩn, một chữ số cho tỷ lệ phần trăm.
Trục tung không bắt đầu từ 0 ở biểu đồ cột
Cắt trục tung làm chênh lệch nhỏ trông như rất lớn, dễ bị hội đồng xem là gây hiểu lầm. Với biểu đồ cột, trục nên bắt đầu từ 0; với biểu đồ điểm hay đường, có thể linh hoạt hơn.
Bỏ qua giá trị thiếu khi tính tỷ lệ
Nếu không nêu rõ mẫu số, tỷ lệ phần trăm có thể bị hiểu sai. Hãy ghi số quan sát hợp lệ cho từng biến trong bảng hoặc ghi chú bên dưới.
Kết luận
Thống kê mô tả và trực quan hóa bằng R hiệu quả khi bạn chọn chỉ số theo loại biến, tóm tắt bằng công cụ phù hợp từng giai đoạn và viết lời bình cho mỗi biểu đồ. Phần này tuy không phức tạp về kỹ thuật nhưng định hình ấn tượng đầu tiên của hội đồng về chất lượng dữ liệu. Tài liệu R for Data Science có các chương riêng về ggplot2 nếu bạn muốn tìm hiểu sâu hơn.
Trước bước này, bạn nên rà lại quy trình làm sạch dữ liệu với R; sau đó có thể chuyển sang bài ước lượng và báo cáo hồi quy trong R. Khi cần một lượt góp ý độc lập, hãy tìm hiểu dịch vụ phân tích dữ liệu bằng R.
