Trong
quá trình nhập liệu, hoặc nối, gộp các file số liệu có thể dẫn đến nhiều biến,
bản ghi bị trùng lặp (duplicate) đặc biệt là với những bộ số liệu lớn. Để xử lý
tình huống này, thongke.info xin giới thiệu tới các bạn một số cách đơn giản để
phát hiện và loại bỏ các bản ghi trùng lặp.
Xử lý trùng lặp được chia làm 2 bước là phát hiện
trùng lặp và xóa bỏ các bản ghi trùng lặp. Sau đây chúng tôi sẽ đi vào cụ thể từng
bước.
1. Phát
hiện bản ghi trùng lặp
Cách
thông thường và đơn giản nhất để phát hiện bản ghi trùng lặp là sử dụng lệnh sắp
xếp thứ tự (sorting) bản ghi theo một biến đặc trưng (unique) hoặc chạy lênh
phân bố tần số của biến đó và quan sát trực tiếp bộ số liệu để nhìn thấy sự
trùng lặp (chỉ áp dụng được đối với các bộ số liệu nhỏ, ít bản ghi). Trong các
ví dụ nêu dưới đây, chúng tôi sử dụng biến mã bộ câu hỏi (qid) làm biến đặc trưng.
a. Sắp
xếp bộ số liệu (sorting)
sort qid
Kết quả khi thu được cho ta thấy trong bộ số liệu
có qid 15404, 15517 có trùng lặp.
b. Chạy
phân bố tần suất
freq qid
c. Tạo
biến mới nhận biết trùng lặp
sort cases by
qid . compute dup = 0
. if lag(qid) =
qid dup = 1 . variable labels dup
'Indicator of duplicate record'. value labels dup 0 'None' 1 'Duplicate'. freq dup.
Kết quả phân bố
tần số của biến chị thị
Hiển thị tên các bản ghi trùng lặp
temporary. select if dup=1. list qid.
Kết quả.
2. Xóa các bản ghi trùng lặp
Sau
khi đã phát hiện ra các bản ghi bị trùng lặp, việc tiếp theo của chúng ta là cần
xóa các bản ghi đó để có thể thực hiện các phân tích tiếp theo. Để xóa các bản
ghi bị trùng ta sử dụng lênh select if với cấu trúc sau:
temporary. select if dup=0. save. outfile='D:\Work\RESEARCH_2012\Thongke.info\data_dup2.sav'. restore.
Với lệnh temporary và
restore chúng ta đã tạo ra được một file data mới không còn biến trùng lặp có
tên là data_dup2. Với bộ data mới ta có thể thực hiện lại các thao tác như hướng
dẫn ở trên để kiểm tra sự trùng lặp, và dưới đây là kết quả kiểm tra:
freq qid.
freq dup.
Số lượt đọc:
4970
-
Cập nhật lần cuối:
13/09/2012 05:06:56 PM |