Hướng dẫn sử dụng lệnh table trên Stata 17
Sử dụng các tuỳ chọn nototals, statistic(), nformat(), sformat(), và style()
Phiên bản mới của lệnh table
trên Stata 17 với sự bổ sung của nhiều tính năng hữu ích. Lệnh table
linh hoạt hơn trong việc thực hiện các thống kê mô tả, định dạng hiển thị và quan trọng hơn nó còn hỗ trợ xuất kết quả sang Word, PDF, Excel hay html một cách hoàn chỉnh.
Cú pháp cơ bản của lệnh table
là:
table (rowvars) (colvars)
Minh họa sử dụng lệnh table
Sau đây là một số ví dụ mô tả tính năng cơ bản của lệnh table
. webuse nhanes2, clear
Bảng tần suất
Biến danh mục
Bảng một chiều
. table () (highbp) ──────────┬───────────────────────── │ High blood pressure │ 0 1 Total ──────────┼───────────────────────── Frequency │ 5,975 4,376 10,351 ──────────┴─────────────────────────
Bảng tần suất 2 chiều
. table (sex) (highbp), nototals ─────────┬─────────────────────── │ High blood pressure │ 0 1 ─────────┼─────────────────────── Sex │ Male │ 2,611 2,304 Female │ 3,364 2,072 ─────────┴───────────────────────
hoặc thể hiện dưới dạng lồng của sex
trong highbp
. table (highbp sex) (), nototals ────────────────────┬─────────── │ Frequency ────────────────────┼─────────── High blood pressure │ 0 │ Sex │ Male │ 2,611 Female │ 3,364 1 │ Sex │ Male │ 2,304 Female │ 2,072 ────────────────────┴───────────
hay
. table () (highbp sex), nototals ──────────┬───────────────────────────────── │ High blood pressure │ 0 1 │ Sex Sex │ Male Female Male Female ──────────┼───────────────────────────────── Frequency │ 2,611 3,364 2,304 2,072 ──────────┴─────────────────────────────────
Bảng nhiều chiều
Với nhiều biến hơn, chúng ta cũng có thể thực hiện bảng tần suất dạng lồng ghép như trên, chẳng hạn:
. table (highbp sex diabetes) (), nototals ────────────────────────┬─────────── │ Frequency ────────────────────────┼─────────── High blood pressure │ 0 │ Sex │ Male │ Diabetes status │ Not diabetic │ 2,533 Diabetic │ 78 Female │ Diabetes status │ Not diabetic │ 3,262 Diabetic │ 100 1 │ Sex │ Male │ Diabetes status │ Not diabetic │ 2,165 Diabetic │ 139 Female │ Diabetes status │ Not diabetic │ 1,890 Diabetic │ 182 ────────────────────────┴───────────
Chúng ta có thể sử dụng tùy chọn totals()
cho một biến dòng hoặc cột cụ thể để hiển thị giá trị tổng của biến.
. table (sex) (highbp), totals(highbp) ─────────┬─────────────────────── │ High blood pressure │ 0 1 ─────────┼─────────────────────── Sex │ Male │ 2,611 2,304 Female │ 3,364 2,072 Total │ 5,975 4,376 ─────────┴─────────────────────── . table (sex) (highbp), totals(sex) ─────────┬───────────────────────── │ High blood pressure │ 0 1 Total ─────────┼───────────────────────── Sex │ Male │ 2,611 2,304 4,915 Female │ 3,364 2,072 5,436 ─────────┴─────────────────────────
Biến liên tục
Với các biến dạng liên tục, có thể sử dụng tùy chọn statistics()
với thống kê tương ứng như mean, sd… để thực hiện các thống kê mong muốn:
. table (sex) (highbp), /// > statistic(frequency) /// > statistic(percent) /// > statistic(mean age) /// > statistic(sd age) /// > nototals ───────────────────────┬─────────────────────── │ High blood pressure │ 0 1 ───────────────────────┼─────────────────────── Sex │ Male │ Frequency │ 2,611 2,304 Percent │ 25.22 22.26 Mean │ 42.8625 52.59288 Standard deviation │ 16.9688 15.88326 Female │ Frequency │ 3,364 2,072 Percent │ 32.50 20.02 Mean │ 41.62366 57.61921 Standard deviation │ 16.59921 13.25577 ───────────────────────┴───────────────────────
Tùy chọn định dạng
Chúng ta có thể sử dụng tuỳ chọn nformat()
để định dạng các hiển thị số cho các giá trị thống kê trong bảng, cũng như tuỳ chọn sformat()
để thêm các kí tự vào định dạng.
Ghi nhớ sử dụng cặp nháy kép “” bao quanh trị thống kê cần định dạng.
. table (sex) (highbp), /// > statistic(frequency) /// > statistic(percent) /// > statistic(mean age) /// > statistic(sd age) /// > nototals /// > nformat(%9.0fc frequency) /// > nformat(%6.2f mean sd) /// > sformat("%s%%" percent) /// > sformat("(%s)" sd) /// > style(default) ─────────────────────┬──────────────────── │ 0 1 ─────────────────────┼──────────────────── Male │ Frequency │ 2,611 2,304 Percent │ 25.22462% 22.25872% Mean │ 42.86 52.59 Standard deviation │ (16.97) (15.88) Female │ Frequency │ 3,364 2,072 Percent │ 32.49928% 20.01739% Mean │ 41.62 57.62 Standard deviation │ (16.60) (13.26) ─────────────────────┴────────────────────
Tổng kết
Chúng ta đã biết cách tạo các bảng và sử dụng các tuỳ chọn nototals, totals(), statistic(), nformat(), sformat()
,và style()
. Câu lệnh table
còn nhiều tùy chọn hữu ích khác, chúng ta có thể tìm hiểu ở Stata table. Bài viết tiếp theo tôi sẽ giới thiệu cách sử dụng lệnh collect
để thiết lập hiển thị các bảng theo mong muốn.