Bài 2. Tạo biến và thao tác biến

I. Mục tiêu buổi học

  • Các loại biến trong nghiên cứu
  • Các loại dấu trong STATA
  • Tạo biến mới với phép toán
  • Tạo biến mới với điều kiện if

II. Các loại biến trong nghiên cứu

Biến định lượng
Biến định tính
  • Là số học
  • Có thể đo lường được
  • Có thể so sánh, tính toán
  • Thể hiện tên nhóm, loại, trạng thái, đặc điểm…
  • Không có đơn vị đo cụ thể
  • Có thể sắp xếp thứ tự hoặc không
  • Có 3 loại:
    • Biến nhị phân: Biến chỉ có 2 giá trị phân loại

    • Biến phân loại: Phân loại ĐTNC thành các nhóm khác nhau, không có thứ tự giữa các nhóm

    • Biến thứ bậc:Sắp xếp theo 1 quy ước nào đó, Có thứ tự giữa các nhóm

Dofile

III. Các loại dấu trong STATA

Phép toán
Điều kiện if
Dấu bằng
  • Cộng: +
  • Trừ: -
  • Nhân: *
  • Chia: /
  • Luỹ thừa:^
  • Lớn hơn: >
  • Nhỏ hơn: <
  • Khác: !=
  • Lớn hơn hoặc bằng: >=
  • Nhỏ hơn hoặc bằng: <=
  • Bằng: ==
  • =: Sử dụng 1 dấu bằng trước điều kiện if
  • ==: Sử dụng 2 dấu bằng sau điều kiện if

IV. Tạo biến mới bằng phép toán - gen

Cú pháp
Bài tập 1
  • Câu lệnh
    • gen: Tạo biến mới
  • Cú pháp
  • - gen bien_moi = bien_a + bien_b
    - gen bien_moi = bien_a - bien_b
    - gen bien_moi = bien_a * bien_b
    - gen bien_moi = bien_a / bien_b
    - gen bien_moi = bien_a^2
    Có thể kết hợp các phép toán trong cùng 1 câu lệnh
  • Ví dụ
  • - gen tong_tinchi = tinchi_lythuyet + tinchi_thuchanh
    - gen bien_moi =  loinhuan = doanhthu - chiphi
    - gen bien_moi = luong_glucose = nongdo_glucose * thetich_mau
    - gen bien_moi = bmi = cannang / (chieucao/100)^2
  • Nhập file Dữ liệu khảo sát phụ nữ (NLSW 1988) vào Stata. Tải practice1_nlsw88_tv.csv (.csv)

  • Tính Số giờ làm việc trong năm (52 tuần)

    • Tên biến mới: tong_gio
  • Tính tổng số năm học và kinh nghiệm

    • Tên biến mới: hoc_kn

Mô tả biến

V. Tạo biến mới với replace & điều kiện if

Cú pháp
Bài tập 2
  • Câu lệnh
    • gen: Tạo biến mới
    • replace: Thay thế giá trị của biến
    • if: Lọc dữ liệu theo điều kiện
  • Cú pháp
  • gen bien_moi = giá_trị_1 if điều_kiện_1
    replace bien_moi = giá_trị_2 if điều_kiện_2
    replace bien_moi = giá_trị_3 if điều_kiện_3
    replace...
  • Ví dụ: Tạo biến nhomluong với phân loại mức lương theo giờ thành 3 nhóm: 1 = thấp, 2 = trung bình, 3 = cao
  • gen nhomluong = 1 if mucluong < 5
    replace nhomluong = 2 if mucluong >= 5 & mucluong < 10
    replace nhomluong = 3 if mucluong >= 10 & mucluong != .
Tạo biến mới nhomtuoidưới dạng số (numeric) và phân loại thành 3 nhóm
  • ≤35 tuổi –> Gán giá trị 1
  • Từ 36 đến 40 tuổi –> Gán giá trị 2
  • ≥41 tuổi –> Gán giá trị 3
  • Tạo biến mới nhomhocvan dưới dạng nhãn văn bản (string) và phân loại thành 3 nhóm:
    • <12 năm –> Gán nhãn “1.Dưới phổ thông”
    • Từ 12 đến 14 năm –> Gán nhãn “2.Đại học”
    • ≥15 năm –> –> Gán nhãn “3.Trên đại học”

    VI. Câu lệnh recode & điều kiện if

    Cú pháp
    Bài tập 3
    • Câu lệnh
      • gen: Tạo biến mới
      • recode: Mã hoá lại các biến
      • Các luật cơ bản trong recode:
        • số_a/số_b = giá_trị_1: Từ số_a dến số_b
        • số_a = giá_trị_1
    • Cú pháp rút gọn
    • recode bien_a (luật_1) (luật_2) (luật_n), gen(bien_a_moi)
    • Cú pháp đầy đủ
    • recode bien_a bien_b (luật_1) (luật_2) (luật_n), gen(bien_a_moi bien_b_moi) 
    • Lưu ý
      • Thường dùng cho các biến numberic
      • Tùy chọn gen ở cuối không bắt buộc
    • Ví dụ: Tạo biến nhomluong1 với phân loại mức lương theo giờ thành 3 nhóm:
      • 1 = thấp (<5 USD/giờ)
      • 2 = trung bình (Từ 5 đến 10 USD/giờ)
      • 3 = cao (> 10 USD/giờ)
      • recode mucluong (min/4.99 = 1) (5/9.99   = 2) (10/max   = 3), gen(nhomluong)
    Tạo biến mới nhomtuoi1 với phân loại thành 2 nhóm
    • ≤35 tuổi –> Gán giá trị 1
    • >35 tuổi –> Gán giá trị 2

    VII. Xoá bỏ 1 biến hoặc nhiều biến

    • drop bien_a bien_b bien_n
    Link có thời hạn sử dụng đến 30/7/2025 - Tài liệu được xây dựng vởi Daihub