NỘI DUNG 14052019 2 1 • Biến số 2 • Tạo nhãn biến số 3 • Giá trị khuyết (Missing) 3 • Biến đổi biến số 4 • Biến đổi cấu trúc dữ liệu 5 • Nguyên tắc quản lý dữ liệu 1. BIẾN SỐ 1. Các loại biến số 2. Format của biến số 14052019 3CÁC LOẠI BIẾN SỐ (TYPES) Có 2 loại biến số trong Stata: • Numeric: biến số dạng số • String: biến dạng kí tự Biến số Datetime là dạng đặc biệt của biến numeric. Lưu ý: • Một số phân tích thống kê không sử dụng biến string. • Nên lưu trữ dữ liệu (data) bằng biến numeric
Trang 1QUẢN LÝ DỮ LIỆU VỚI STATA
TS Nguyễn Thị Minh Trang
Bộ môn Thống kê – Khoa Y tế Công cộng
Đại học Y Dược TPHCM
Email: drminhtrang@gmail.com
14/05/2019
1
Trang 4CÁC LOẠI BIẾN SỐ (TYPES)
Có 2 loại biến số trong Stata:
• Numeric: biến số dạng số
• String: biến dạng kí tự
Biến số Date-time là dạng đặc biệt của biến numeric
Lưu ý:
• Một số phân tích thống kê không sử dụng biến string
• Nên lưu trữ dữ liệu (data) bằng biến numeric
14/05/2019 4
Trang 5CÁC LOẠI BIẾN SỐ (TYPES)
Lưu ý: màu sắc thể hiện loại biến số
14/05/2019 5
Numeric,
Labelled
Trang 6BIẾN SỐ VÀ GIÁ TRỊ CỦA BIẾN SỐ
14/05/2019 6
Biến số
Các giá trị của
biến số
Biến số (Variable): smoke
Giá trị của biến số: nonsmoker, smoker
Trang 7ĐỊNH DẠNG (FORMATS) BIẾN SỐ NUMERIC
1000 1000.00 001000.00
10000000 1.00e+07 1.00e+07 Exponential
Trang 8ĐỊNH DẠNG (FORMATS) BIẾN SỐ STRING
Format biến số String (s): %ws
Ví dụ: %10s hiển thị chuỗi 10 kí tự đếm từ bên phải sang
Giá trị (Value) của biến số String:
• Để trong ngoặc kép “” Ví dụ:
generate nation=“Danish” if ph==45
• Phân biệt chữ hoa và chữ thường Ví dụ:
“Danish”, “danish”, “DANISH”
• Lưu ý: Không nhầm lẫn giữa biến String và biến Numeric được dán nhãn
14/05/2019 8
Trang 9ĐỊNH DẠNG (FORMATS): THỰC HÀNH
1. Trong Stata, mở dataset lbw1.dta
2. Mở Data editor (browse)
3. Tại cửa sổ Command, gõ lệnh describe 14/05/2019 9
Data Editor (Browse)
Trang 10ĐỊNH DẠNG (FORMATS): THỰC HÀNH
describe
14/05/2019 10
Trang 112 TẠO NHÃN (LABELLING)
1. Tạo nhãn cho biến số
2. Tạo nhãn cho giá trị biến số
14/05/2019
11
Trang 122. Giá trị của biến số, gồm 2 bước:
• Định nghĩa nhãn giá trị cho biến phân loại (categorical)
• Gán nhãn vừa tạo vào biến số phân loại
14/05/2019 12
Trang 13TẠO NHÃN (LABEL): THỰC HÀNH
1. Tạo nhãn biến số “ht” trong dataset lbw1.dta:
Cách 1: Gõ lệnh
label variable ht “history of hypertension during pregnancy”
Cách 2: Trong Edit Mode, chọn bảng Properties, gõ nhãn trực tiếp vào mục Label
14/05/2019 13
Trang 14TẠO NHÃN (LABEL): THỰC HÀNH
2. Tạo nhãn cho giá trị của biến số “ht”:
Biến ht có 2 giá trị là 0: no, 1: yes
Cách 1: Gõ lệnh
Bước 1 định nghĩa nhãn giá trị:
label define htcode 0 “no” 1 “yes”
Bước 2 gán nhãn giá trị cho biến số:
label values ht htcode 14/05/2019 14
Trang 15TẠO NHÃN (LABEL): THỰC HÀNH
2. Tạo nhãn cho giá trị của biến số “ht”: Các bước thực hiện 1->9
Cách 2: Sử dụng Menu lệnh, chọn Data/ Variable Manager/ Value label/
Manage
14/05/2019 15
1
Trang 16TẠO NHÃN (LABEL): THỰC HÀNH
14/05/2019 16
2
Trang 175
Trang 18TẠO NHÃN (LABEL): THỰC HÀNH
14/05/2019 18
8
9
Trang 19KIỂM TRA NHÃN
Gõ lệnh:
tab1 ht
14/05/2019 19
Trang 20GIÁ TRỊ KHUYẾT (MISSING VALUES)
14/05/2019
20
Trang 21CÁC GIÁ TRỊ KHUYẾT (MISSING VALUES)
Các quan sát (id) có giá trị khuyết ở bất kỳ biến số nào sẽ bị loại khỏi tính toán và
phân tích thống kê có liên quan đến biến số đó.
Có 2 dạng missing values:
• Theo hệ thống: System missing values Thể hiện bằng dấu
• Do nhà nghiên cứu qui ước, tùy vào kiểu dữ liệu.
Dữ liệu dạng số (năm sinh): Dấu
Dữ liệu phân loại (categorical): a, b, c Ví dụ:
.a: Người phỏng vấn quên hỏi thông tin
.b: Người được phỏng vấn không trả lời
.c: Người được phỏng vấn trả lời “không biết” 14/05/2019 21
Trang 22MISSING VALUES: THỰC HÀNH
Mở dataset smoke1x.dta
Kiểm tra các quan sát (id) có missing values của biến BMI:
list id bmi if missing(bmi)
Trang 233.BIẾN ĐỔI BIẾN SỐ
1. Tạo biến số mới: biến định lượng, biến phân loại
2. Mã hóa
3. Kiểm tra biến mới
14/05/2019
23
Trang 24CÁC BIỂU THỨC LOGIC
14/05/2019 24
Trang 25TẠO BIẾN SỐ MỚI: BIẾN ĐỊNH LƯỢNG
Mở dataset smoke.dta
Tạo biến “bmi” từ 2 biến “weight” và “height”
generate bmi = weight/(height^2)
Nếu đã tạo biến bmi, cần tạo lại:
replace bmi = weight/(height^2)
Lưu ý: đơn vị của biến số bmi!!!
14/05/2019 25
Trang 26TẠO BIẾN SỐ MỚI: BIẾN PHÂN LOẠI
Tạo biến “obese1” nếu giá trị của biến số “bmi”>=30:
generate obese1 = bmi>=30
Lưu ý: cần có điều kiện loại trừ các quan sát có giá trị bmi khuyết
(missing), tạo biến obese2:
generate obese2 = bmi>=30 if !missing(bmi)
Kiểm tra lại:
list id bmi obese* if missing(bmi)
14/05/2019 26
Trang 27TẠO BIẾN SỐ MỚI: BIẾN PHÂN LOẠI
Tạo biến nhóm tuổi “agegrp” gồm các giá trị <=39, 40-59, >60:
generate agegrp=0
replace agegrp=1 if age>39 & age<=59
replace agegrp=2 if age>59
Kiểm tra lại:
tab1 agegrp
14/05/2019 27
Trang 28TẠO BIẾN SỐ MỚI: BIẾN PHÂN LOẠI
Tạo biến nhóm tuổi “agegrp1” gồm các giá trị <=39, 40-59, >60:
egen agegrp1 = cut(age), at (0 40 60 150) label
Kiểm tra lại:
tab1 agegrp1
14/05/2019 28
Trang 29MÃ HÓA LẠI BIẾN SỐ: RECODING
Mã hóa lại biến “sex” từ 1 (male)->1, 2 (female)->0, tạo biến mới
“gender”:
Kiểm tra biến “sex”:
tab1 sex, nolabel
recode sex (1=1 “1.male”) (2=0 “0.female”), generate(gender)
label variable gender “Recode of sex” 14/05/2019 29
Trang 30MÃ HÓA LẠI BIẾN SỐ: RECODING
Tạo biến nhóm tuổi “agegrp2” gồm các giá trị <=39, 40-59, >60:
recode age (min/39=0 “<39”) (40/59=1 “40-59”) (60/max=2 “>60”),
generate(agegrp2)
Kiểm tra lại:
tab1 agegrp2
14/05/2019 30
Trang 31KIỂM TRA TÍNH TOÁN
Kiểm tra biến sex, gender:
tab2 sex gender
Kiểm tra biến age, agegrp:
tabstat age, by(agegr) stat(min max)
14/05/2019 31
Trang 324 BIẾN ĐỔI CẤU TRÚC DATA
Trang 34LỰA CHỌN BIẾN SỐ
Giữ lại biến số mong muốn: sex, các biến số từ age đến height theo thứ tự
keep sex age-height
Xóa biến số bmi:
drop bmi
14/05/2019 34
Trang 36XẾP THỨ TỰ GIÁ TRỊ BIẾN SỐ
Xếp thứ tự tăng dần (ascending):
sort age
Xếp theo gsort: weight tăng dần, height giảm dần
gsort +weight -height
14/05/2019 36
Trang 38TẠO NHẬT KÝ
Nhật ký phân tích gồm có các thành phần:
1. Ngày/ tháng/ năm: Date
2. Tên Do-file
3. Input data: Data sử dụng ban đầu
4. Output data: Data đã được thay đổi cấu trúc
5. Comments: Ghi chú lại các công việc trong phiên làm việc
(bao gồm các lưu ý đặc biệt!!!)
14/05/2019 38
Trang 39TẠO NHẬT KÝ
Project: Smoking
Working folder C:\Smoking Project
Bỏ biến:
Tạo biến mới:
Tạo nhãn biến:
Bỏ biến:
Tạo biến mới:
Tạo nhãn biến:
Merge 2 data lbw1.dta và lbw2.dta 14/05/2019 39
Trang 40TẠO DO-FILE
CÁC BƯỚC TẠO VÀ LÀM VIỆC VỚI DO-FILE
1. Tạo do-file khi bắt đầu các phiên làm việc với STATA
2. Lưu tên do-file theo ngày làm việc
3. Ghi chú các mục đích của các câu lệnh trong do-file, bắt đầu bằng dấu *
4. Gõ câu lệnh
5. Chạy câu lệnh
6. Ghi tên do-file vào nhật ký các phiên làm việc
14/05/2019 40
Trang 41TẠO DO-FILE: CÁC BƯỚC THỰC HIỆN
14/05/2019 41
New Do-file editor
Bước 1 Chọn Icon New Do-file editor
1
Trang 42TẠO DO-FILE: CÁC BƯỚC THỰC HIỆN
14/05/2019 42
Bước 2 Lưu tên do-file theo ngày thực hành
Bước 3 Mô tả mục đích câu lệnh
Dùng dấu * cho câu mô tả
2
3
4 Bước 4 Gõ lệnh
5 Bước 5 Chạy lệnh (đánh dấulệnh muốn chạy trước nếu
không chạy toàn bộ)
Trang 43TÓM TẮT: CÁC LỆNH STATA
label variable, label define, label
values
Tạo nhãn
tab1, tab2, tabstat Tạo bảng thống kê 1 chiều, 2 chiều
list if Liệt kê quan sát theo điều kiện
generate, egen, replace Tạo biến số
keep, drop Giữ lại hoặc bỏ quan sát/ biến số
sort, gsort Xếp thứ tự quan sát/ biến số
14/05/2019 43
Trang 44TÀI LIỆU THAM KHẢO
Sách: Introduction to Stata for Health Researchers, 4 th edition
Svend Juul and Morten Frydenberg
Web: https://www.stata.com/links/resources-for-learning-stata/
14/05/2019 44