Buổi 1. Tạo biến và thao tác biến

Lý thuyết

Tạo bằng phép toán

  • 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

Tạo với replace & if

  • 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...

Tạo với recode & if

  • 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 tạo đồng loạt nhiều biến
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

Bài tập

Bài 1 - 4:

  • 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
  • Tính chênh lệch số năm kinh nghiệm và năm làm việc hiện tại.
    • Tên biến mới: chenh_kn_lv
  • Tính tổng thu nhập một năm.
    • Tên biến mới: tongthunhap

Bài 5 - 9:

  • Tạo biến nhomluong với phân loại mức lương theo giờ thành 3 nhóm: 1. <5 USD, 2. Từ 5 - 10 USD, >10 USD
  • Tạo biến nhomtuoivà phân loại thành 3 nhóm: 1. ≤35 tuổi, 2. Từ 36 đến 40 tuổi3. ≥41 tuổi
  • Tạo biến nhomhocvan và phân loại thành 3 nhóm: 1. <12 năm, 2. Từ 12 đến 14 năm3. ≥15 năm
  • Tạo biến nhomnamkn và phân loại thành 2 nhóm: 1. <10 năm2. >=10 năm
  • Tạo biến tongthunhap_nhom và phân loại thành 3 nhóm: 1. < 10000 USD, 2. Từ 10000 - 49999 USD, 3. Từ 50000 USD trở lên

Bài 10: Mô tả tên biến, định nghĩa giá trị và gán nhãn biến cho các biến mới ở bài tập 5 - 9

Buổi 2. Làm sạch dữ liệu

Lý thuyết

Kiểm tra trùng lặp mã định danh

Bước 1: Tìm mã định danh trùng lặp

duplicates report tenbien_id // Bảng tổng hợp số lượng duplicate trong bộ dữ liệu 
sort tenbien_id // Sắp xếp mã id theo thứ tự
by tenbien_id: gen nb_dupli = _N // Tạo biến mới để kiểm tra trùng lặp
list tenbien_id bien_a bien_b bien_n if nb_dupli ==2 //Liệt kê danh sách các bản ghi có mã định danh trùng lặp

Bước 2: Xoá hàng trùng lặp

# Cách 1: Xoá thủ công từng hàng
drop in số_hàng 

# Cách 2: Xoá hàng trùng lặp theo bien_id cụ thể và missing thông tin một vài biến
drop if inlist(bien_id, ma_id1, ma_id2, ma_idn) & missing(bien_a) & missing(bien_b)

Chuyển biến chuỗi thành số

Cú pháp

destring bien_a bien_b bien_n, replace

Định dạng chuẩn ngày/tháng/năm

Cú pháp

gen bienngay_moi = date(bienngay_a, "DMY")
format bienngay_moi %dD/N/CY

Lưu ý: %dD/N/CY: dD là ngày, N là tháng, CY là năm. Có thể đổi vị trị tuỳ ý

Giá trị ngoại lai

Bước Lệnh Stata Mô tả
1 egen q25 = pctile(bien_a), p(25) Tính Q1 (phân vị thứ nhất) của biến bien_a
2 egen q75 = pctile(bien_a), p(75) Tính Q3 (phân vị thứ ba) của biến bien_a
3 gen iqr = q75 - q25 Tính IQR = Q3 – Q1
4 gen lower_bound = q25 - 1.5*iqr Tính giới hạn dưới
5 gen upper_bound = q75 + 1.5*iqr Tính giới hạn trên
  1. Liệt kê các id có giá trị ngoại lai: list bien_id bien_a if bien_a < lower_bound | bien_a > upper_bound

  2. Tạo biến mới không có giá trị ngoại lai: gen bien_a_clean = bien_a if bien_a >= lower_bound & bien_a <= upper_bound

Giá trị missing

Cú pháp

  • misstable sum: Liệt kê các biến có missing

Ghép theo hàng

  • Thao tác thanh công cụ ghép theo hàng:
    • File > Data > Combine datasets > Append datasets
    • Chọn Browse ở File name of dataset on disk để chọn file ghép hàng
    • Bấm OK
  • Lưu ý:
    • Nếu dùng thao tác thanh công cụ cần mở 1 bộ dữ liệu rồi mới append bộ dữ liệu thứ 2
    • Nếu câu lệnh cần khai báo đường link thư mục lưu trữ cd và bắt buộc 2 file dữ liệu không cần cùng folder
    • Lưu dưới dạng .dta
    • Có cùng cấu trúc biến

Ghép theo cột

  • Thao tác thanh công cụ ghép theo cột:
    • File > Data > Combine datasets > Merge two datasets
    • Chọn biến key cở mục Key Variables
    • Chọn Browse ở File name of dataset on disk để chọn file ghép cột
    • Bấm OK
  • Lưu ý:
    • tenbien_key: là biến cả 2 bộ dữ liệu đều có và các giá trị trong biến là duy nhất
    • Các file Lưu dưới dạng .dta
    • Chỉ thực hiện merge khi:
      • Đã import 1 bộ dữ liệu trước đó
      • 2 bộ dữ liệu đã được làm sạch

Bài tập

Bài tập 1

Dofile

Bài 1:

  • Có bao nhiêu bản ghi/bản ghi có mã định danh trùng lặp?
  • Liệt kê các các bản ghi có mã định danh trùng lặp
  • Cách xử lý dữ liệu

Bài 2 - 5:

  • Khám phá bộ Dữ liệu phòng khám Clinic và cho biết:
    • Biến tuổi tuoi đang hiển thị trong stata là loại biến nào? Cách xử lý dữ liệu
    • Xác định giá trị ngoại lai ở biến tuổi tuoi
    • Xác định các biến có missing. Liệt kê tên biến

Bài 6:

  • Định dạng biến Ngày bệnh lao được chẩn đoán mới ngay_cd_lao về đúng định dạng ngày, tháng, năm

Bài tập 2

Bài 7:

  • Tải bộ dữ liệu: dulieuha_ghephang.zip
  • Ghép dữ liệu về huyết áp của bệnh nhân của 2 cơ sở file bplong_coso1.dtabplong_coso2.dta thành 1 file dữ liệu tổng

Bài 8:

  • Tải bộ dữ liệu: dulieuha_ghepcot.zip
  • Ghép thêm dữ liệu về huyết áp của bệnh nhân sau khi đã điều trị từ bộ dữ liệu bpwide_after.dta vào bộ dữ liệu trước khi điều trị bpwide_before.dta

Buổi 3. Mô tả biến định lượng

Bài 1

  • Nhập bộ Dữ liệu đầu tư của 10 công ty công nghiệp lớn tại Hoa Kỳ trong 20 năm (1935–1954) vào STATA bằng câu lệnh:

    webuse grunfeld, clear

6. BTVN

  1. Tính giá trị trung bình, độ lệch chuẩn, giá trị nhỏ nhất, giá trị lớn nhất của các biến invest, mvalue, và kstock.

  2. Mô tả số tiền đầu tư hàng năm của mỗi công ty

  3. Mô tả giá trị thị trường của mỗi công ty trong từng giai đoạn dưới đây:

  • Giai đoạn 1: 1930 - 1939
  • Giai đoạn 2: 1940 - 1949
  • Giai đoạn 3: Từ 1950 trở lên
  1. So sánh trung bình số vốn cố định giữa công ty 1 và công ty 2

  2. Chọn biểu đồ phù hợp cho biến invest

Bài 2

Mô tả bộ dữ liệu

  1. Mô tả cơ bản và chi tiết thông tin Chiều dài tổng thể của xe
  2. Mô tả cơ bản thông tin của nhiều biến Giá bán của xe, Chiều dài tổng thể của xe và trọng lượng của xe
  3. Tính giá trung bình của những chiếc xe chạy từ 25 dặm cho một gallon trở xuống
  4. Vẽ biểu đồ phù hợp cho biến Giá bán của xe