Xử lý dữ liệu

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.

Source
Huber (2021)Stata 17 Manual
Back to top button