Giới thiệu dữ liệu trống – missing data
1.1. Mã hóa missing data
Có 3 cách thông dụng để mã hóa các missing data này:
- Cách 1: sử dụng lệnh replace để thay thế các giá trị đặc biệt
use missing_data.dta, clear
replace x1 = .a if x1 ==-999
replace x1 = .b if x1 ==-99
codebook x1
list
- Cách 2: sử dụng lệnh mvdecode
Ưu điểm của câu lệnh mvdecode là cho phép mã hóa nhiều biến cùng lúc, so với câu lệnh replace chỉ mã hóa lần lượt từng biến.
use missing_data.dta, clear
mvdecode x1 x2, mv(-999=.a \-99=.b)
list
- Cách 3: sử dụng lệnh mvdecode với _all để mã hóa toàn bộ danh sách biến
use missing_data.dta, clear
mvdecode _all, mv(-999=.a \-99=.b)
list
GHI CHÚ
Trong trường hợp chúng ta muốn trở về giá trị mã hóa đặc biệt ban đầu từ các giá trị missing thì sử dụng câu lệnh mvencode như sau:
mvencode _all, mv(.a=-999 \.b=-99)
1.2. Trình bày missing trong tập dữ liệu
Sử dụng tập dữ liệu missing_data.dta
use missing_data.dta, clear
mvdecode _all, mv(-999=.a \-99=.b)
2 câu lệnh sau sẽ mô tả số quan sát missing và không missing trong mỗi biến
misstable sum
misstable pattern, freq
Câu lệnh misstable sum sẽ thể hiện cụ thể từng loại missing trong mỗi biến. Một cách khác để hiển thị nhanh số giá trị missing trong mỗi biến là sử dụng lệnh nmissing
nmissing
Theo đó, số giá trị missing ở các biến x1, x2, x3 lần lượt là 4, 4 và 1.
Câu lệnh ngược lại npresent cho biết số quan sát hợp lí (non-missing) trong mỗi biến.
npresent
Ngoài ra, chúng ta có thể sử dụng hàm rowmiss và rownonmis như sau:
egen miss = rowmiss(x1 – x3)
egen nomiss = rownonmiss(x1 – x3)
list