Mã hóa bảng hỏi là gì? Cách mã hóa khảo sát để nhập SPSS
Mã hóa bảng hỏi là gì trong nghiên cứu định lượng
Mã hóa bảng hỏi là quá trình đặt tên và gán giá trị số cho từng biến, từng phương án trả lời trong bảng khảo sát để dữ liệu có thể nhập vào SPSS hoặc SmartPLS. Ví dụ, câu hỏi “Giới tính của bạn?” có thể được mã hóa thành biến GIOITINH, trong đó 1 = Nam, 2 = Nữ, 3 = Khác. Với một biến quan sát Likert, bạn có thể dùng 1 = Hoàn toàn không đồng ý đến 5 = Hoàn toàn đồng ý.
Bạn cần phân biệt ba lớp thông tin. Tên biến là tên dùng trong file dữ liệu, nhãn biến là câu hỏi đầy đủ để bạn đọc lại, còn nhãn giá trị là ý nghĩa của từng con số. Nếu chỉ nhập 1, 2, 3 mà không lưu bảng quy ước, vài ngày sau bạn rất dễ quên số nào tương ứng với phương án nào.
Mã hóa nên được quyết định trước khi thu thập dữ liệu. Khi bảng hỏi đã phát cho người trả lời, việc đổi thứ tự mã hoặc đổi chiều thang đo sẽ làm bạn khó kiểm tra và có thể khiến kết quả Cronbach's Alpha, EFA hoặc hồi quy bị sai hướng.
Nếu bạn đang xây dựng công cụ khảo sát từ đầu, hãy xem thêm hướng dẫn thiết kế bảng hỏi. Còn nếu đã có bộ câu hỏi và cần đối chiếu hình thức trình bày, mẫu phiếu khảo sát sẽ giúp bạn kiểm tra các phần như thông tin sàng lọc, hướng dẫn trả lời và nhóm biến quan sát.
Cách xác định mã hóa bảng hỏi khảo sát
Trước hết, bạn lập một codebook, tức bảng từ điển dữ liệu. Mỗi dòng là một biến, tối thiểu gồm mã biến, nội dung biến, loại biến, cách mã hóa và ghi chú xử lý. Hãy đặt mã ngắn, không dấu, không khoảng trắng và không bắt đầu bằng số. GT, TUOI, HV, CL1, CL2 dễ dùng hơn những tên dài như Cau_hoi_ve_chat_luong_dich_vu_so_1.
Với biến định danh, mã số chỉ là nhãn, không phải mức độ cao thấp. Ví dụ, 1 = Nam và 2 = Nữ không có nghĩa nữ nhiều hơn nam. Vì vậy, bạn không nên lấy trung bình của biến giới tính hoặc diễn giải hệ số hồi quy của biến này như một thang đo liên tục nếu chưa chọn cách xử lý phù hợp.
Với thang đo Likert, các mức phải đi theo một hướng nhất quán. Thang Likert 5 mức thường được trình bày từ 1 đến 5, trong đó 1 là mức phản đối thấp nhất và 5 là mức đồng ý cao nhất. Bạn có thể tham khảo cách trình bày thang đo Likert 5 mức độ. Nếu đề tài dùng 7 mức, hãy giữ đúng bảy giá trị từ 1 đến 7 và xem thang đo Likert 7 mức độ.
Quy tắc mã hóa và nguồn tham khảo
Bảng dưới đây là quy ước thực hành để bạn lập codebook. Các ngưỡng về số lượng quan sát trên một biến quan sát dùng khi dự kiến cỡ mẫu, không phải quy tắc để gán mã cho câu trả lời.
| Nội dung cần quyết định | Quy ước nên dùng | Nguồn |
|---|---|---|
| Số quan sát dự kiến trên mỗi biến quan sát | Có thể dự kiến 5 đến 10 quan sát cho một biến quan sát | (Hair và cộng sự, 2010) |
| Thang Likert 5 mức | Gán tuần tự từ 1 đến 5, giữ một chiều diễn giải | (Likert, 1932) |
| Thang Likert 7 mức | Gán tuần tự từ 1 đến 7, giữ một chiều diễn giải | (Likert, 1932) |
| Cỡ mẫu theo tổng thể hữu hạn | Dùng công thức cỡ mẫu hữu hạn khi biết kích thước tổng thể | (Yamane, 1967) |
| Biến quan sát bị bỏ trống | Dùng mã missing riêng, chẳng hạn 99, và khai báo là missing trong SPSS | (Field, 2013) |
Khi tổng thể có kích thước N, công thức Yamane thường được viết là n = N / (1 + N e²), trong đó n là cỡ mẫu, còn e là sai số chọn mẫu dự kiến. Bạn cần thống nhất giá trị sai số và trình bày cách chọn trong chương phương pháp, thay vì ghi một con số cỡ mẫu mà không giải thích.
Bảng tra nhanh dưới đây chỉ là minh họa cách áp dụng công thức với e = 0,05. Các con số đã được làm tròn để dễ theo dõi, bạn nên tự tính lại theo tổng thể của đề tài.
| Kích thước tổng thể N | Cách tính theo công thức | Cỡ mẫu minh họa | Nguồn |
|---|---|---|---|
| 500 | 500 / (1 + 500 × 0,05²) | 222 | (Yamane, 1967) |
| 1.000 | 1.000 / (1 + 1.000 × 0,05²) | 286 | (Yamane, 1967) |
| 5.000 | 5.000 / (1 + 5.000 × 0,05²) | 370 | (Yamane, 1967) |
| 10.000 | 10.000 / (1 + 10.000 × 0,05²) | 385 | (Yamane, 1967) |
Cỡ mẫu thực tế còn phụ thuộc mô hình, số biến quan sát, cách chọn mẫu và tỷ lệ phiếu không hợp lệ. Nếu bạn có nhiều nhóm nhân khẩu học cần so sánh, chỉ vừa đủ theo công thức có thể khiến một nhóm có quá ít quan sát để phân tích.
Thiết kế bảng hỏi phục vụ mục tiêu mã hóa
Một bảng hỏi dễ mã hóa thường có cấu trúc ổn định: phần giới thiệu, câu hỏi sàng lọc, thông tin nhân khẩu học, các nhóm thang đo và câu hỏi kết thúc. Mỗi câu hỏi đóng nên có các phương án trả lời không chồng lấn. Nếu người trả lời có thể chọn nhiều phương án, bạn cần tách mỗi phương án thành một biến nhị phân riêng, chẳng hạn 1 = Có chọn, 0 = Không chọn.
Các biến quan sát trong cùng một khái niệm nên có tiền tố chung. Ví dụ, bốn biến đo chất lượng dịch vụ có thể là CL1, CL2, CL3, CL4; ba biến đo sự hài lòng là HL1, HL2, HL3. Cách đặt này giúp bạn chọn đúng nhóm biến khi chạy Reliability Analysis và EFA.
Không dùng một cột để lưu nhiều câu trả lời. Nếu câu hỏi “Bạn sử dụng những kênh nào?” cho phép chọn website, Facebook và ứng dụng, hãy tạo KENH_WEB, KENH_FB, KENH_APP, mỗi cột nhận 0 hoặc 1. Việc ghi chuỗi “Website, Facebook” vào một ô sẽ gây khó khăn khi lọc dữ liệu và chạy thống kê.
Câu hỏi sàng lọc cũng phải có mã rõ ràng. Chẳng hạn, S1 = 1 nếu người trả lời từng sử dụng dịch vụ trong sáu tháng gần đây và S1 = 2 nếu chưa từng sử dụng. Bạn cần ghi trước điều kiện loại phiếu, ví dụ chỉ giữ người có S1 = 1, thay vì quyết định sau khi thấy dữ liệu không đẹp.
Bạn có thể xem thêm phiếu khảo sát để rà lại thứ tự câu hỏi. Mục tiêu là người trả lời hiểu đúng câu hỏi, còn bạn biết chính xác mỗi lựa chọn sẽ đi vào cột nào trong file dữ liệu.
Xử lý biến đảo chiều
Một biến đảo chiều là biến có nội dung ngược hướng với các biến còn lại trong cùng thang đo. Ví dụ, ba câu đầu đo sự thuận tiện, còn TT4 có nội dung “Tôi thường gặp khó khăn khi sử dụng dịch vụ”. Nếu điểm cao của TT4 biểu thị trải nghiệm xấu, bạn cần đảo mã trước khi tính điểm chung.
Với thang 1 đến 5, mã đảo là 6 - mã gốc: 1 thành 5, 2 thành 4, 3 giữ nguyên, 4 thành 2 và 5 thành 1. Với thang 1 đến 7, công thức tương ứng là 8 - mã gốc. Hãy kiểm tra nội dung câu hỏi và codebook trước khi đảo, vì đảo nhầm một biến thuận chiều cũng làm kết quả sai.
Triển khai thu dữ liệu sau khi chốt mã
Trước khi gửi bảng hỏi rộng rãi, bạn nên chạy thử với một nhóm nhỏ để phát hiện phương án trả lời thiếu, câu hỏi khó hiểu, mã biến trùng hoặc logic bỏ qua không đúng. Việc thử nghiệm ở đây nhằm kiểm tra bảng hỏi và file dữ liệu, không phải để sửa số liệu cho đạt ngưỡng.
Khi thu thập trực tuyến, mỗi câu hỏi cần có tên cột ổn định. Nếu nền tảng tự sinh tên như Câu hỏi 12, bạn nên đổi tên sau khi xuất CSV theo codebook, nhưng không được đổi thứ tự dòng hoặc ghép nhầm cột. Hãy lưu một bản dữ liệu gốc chưa chỉnh sửa và một bản làm sạch riêng.
DoThesis có fillform.info, công cụ biểu mẫu của chúng tôi dành cho việc thu thập câu trả lời bằng tiếng Việt. Google Forms là một lựa chọn thay thế quen thuộc. Dù dùng công cụ nào, bạn vẫn phải kiểm tra file xuất ra, vì nền tảng tạo biểu mẫu không tự quyết định biến nào cần loại, biến nào cần đảo chiều.
Trong thời gian thu thập, ghi lại ngày mở và ngày đóng khảo sát, kênh phát phiếu, điều kiện sàng lọc và số lượt trả lời. Nếu có nhiều kênh, thêm một biến nguồn như NGUON = 1 cho Facebook và NGUON = 2 cho email nếu bạn cần mô tả mẫu. Không tự ý xóa nhóm có phân phối khác biệt chỉ vì nhóm đó làm kết quả thay đổi.
Làm sạch dữ liệu trước khi nhập SPSS
Sau khi tải file CSV hoặc nhập Excel, kiểm tra từ trái sang phải. Các cột thời gian gửi biểu mẫu, email, địa chỉ hoặc mã truy cập có thể cần loại khỏi phân tích nếu chúng không phải biến nghiên cứu. Tuy nhiên, hãy giữ bản gốc để có thể truy vết một phiếu khi giảng viên hỏi.
Dấu hiệu thường gặp của phiếu kém chất lượng gồm bỏ trống quá nhiều câu, trả lời cùng một mức cho toàn bộ thang đo, thời gian hoàn thành bất thường và mâu thuẫn với câu hỏi sàng lọc. Một người chọn “chưa từng sử dụng” nhưng lại trả lời đầy đủ nhóm đánh giá dịch vụ là trường hợp cần kiểm tra logic.
Không xóa dữ liệu chỉ vì một giá trị làm Cronbach's Alpha thấp. Trước khi loại phiếu hoặc biến, bạn cần xem lại câu hỏi, hướng mã hóa, dữ liệu thiếu và mục tiêu đo lường. EFA hiếm khi ra đẹp ở lần chạy đầu. Loại biến, chạy lại và ghi lại từng vòng loại là chuyện bình thường, nhưng quyết định phải có lý do phương pháp.
Khi nhập SPSS, vào Variable View để khai báo Name, Label, Values, Missing và Measure. Biến danh mục thường để Nominal, biến có thứ tự như trình độ có thể để Ordinal, còn điểm Likert dùng trong phân tích thang đo thường được lưu dạng số. Việc chọn Scale trong SPSS không biến một biến danh mục thành biến liên tục, nó chỉ giúp phần mềm xử lý theo kiểu đo lường bạn khai báo.
Bảng số liệu minh họa khi kiểm tra mã hóa
Bảng sau là số liệu minh họa, không phải kết quả của một nghiên cứu cụ thể. Nó mô phỏng hình dạng dữ liệu sau khi mã hóa để bạn đối chiếu trước khi chạy SPSS.
| ID | GIOITINH | S1 | CL1 | CL2 | CL3 | NGUON |
|---|---|---|---|---|---|---|
| 001 | 1 | 1 | 4 | 5 | 4 | 1 |
| 002 | 2 | 1 | 3 | 4 | 3 | 2 |
| 003 | 2 | 1 | 5 | 5 | 5 | 1 |
| 004 | 1 | 2 | 99 | 99 | 99 | 1 |
Trong ví dụ này, dòng 004 có S1 = 2, nghĩa là không đạt điều kiện sàng lọc. Các giá trị 99 của nhóm CL phải được khai báo là missing hoặc loại theo quy tắc đã viết trước. Không để 99 được tính như một mức Likert, vì trung bình và độ lệch chuẩn sẽ bị kéo lệch nghiêm trọng.
Nếu bạn nhận dữ liệu từ bảng hỏi trực tuyến, hãy kiểm tra xem giá trị trống được xuất thành ô rỗng, chữ N/A, số 0 hay một chuỗi khác. Những cách biểu diễn khác nhau cần được quy về một quy tắc trước khi chạy thống kê. Mã 0 chỉ phù hợp với câu hỏi có ý nghĩa “không”, không phù hợp để đại diện cho câu hỏi bị bỏ trống trong thang Likert 1 đến 5.
Cách trình bày trong chương 3
Trong chương phương pháp, bạn cần mô tả cách xây dựng bảng hỏi, nguồn thang đo, số biến quan sát, thang đo sử dụng và quy tắc mã hóa. Hãy nêu rõ biến nào là biến định danh, biến nào dùng thang Likert, mức đo bắt đầu từ 1 hay 0, và các phiếu không hợp lệ được xử lý theo tiêu chí nào.
Bạn có thể viết theo mẫu sau:
Cách viết vào luận văn: “Bảng hỏi gồm [số phần] phần với [số biến quan sát] biến quan sát. Các biến [tên nhóm biến] được đo bằng thang Likert [5/7] mức, trong đó 1 tương ứng với [mức thấp nhất] và [5/7] tương ứng với [mức cao nhất]. Dữ liệu được mã hóa theo quy ước [mô tả mã biến], các giá trị thiếu được xử lý bằng [quy tắc], và các phiếu không đáp ứng [tiêu chí loại] được loại trước khi phân tích.”
Trong phụ lục, nên đưa bảng mã biến hoặc ít nhất là danh sách biến quan sát, mã biến và nội dung câu hỏi. Nếu bảng quá dài, bạn có thể đặt codebook ở phụ lục và trích dẫn số phụ lục trong chương 3. Đừng chỉ ghi “dữ liệu được mã hóa bằng SPSS”, vì SPSS là phần mềm phân tích, không phải mô tả quy ước mã của bảng hỏi.
Khi sang chương 4, tên biến trong bảng kết quả nên khớp với codebook. Nếu đổi CL1 thành “Chất lượng 1” trong một bảng, hãy giữ chú thích để người đọc biết biến này tương ứng với câu hỏi nào. Sự nhất quán này giúp bạn giải thích kết quả mà không phải mở lại từng trang bảng hỏi.
Lỗi thường gặp khi mã hóa bảng hỏi
Lỗi đầu tiên là đặt mã biến có dấu hoặc khoảng trắng, ví dụ Chất lượng 1. SPSS có thể xử lý một số tên theo phiên bản, nhưng tên không dấu, ngắn và duy nhất vẫn an toàn hơn khi xuất sang CSV, SmartPLS hoặc R.
Lỗi thứ hai là dùng cùng một mã cho hai ý nghĩa khác nhau. Nếu 1 là Nam ở biến giới tính, nó không tự động có nghĩa là “Hoàn toàn không đồng ý” ở mọi biến khác. Mã giá trị chỉ có nghĩa trong từng biến và phải được lưu cùng nhãn.
Lỗi thứ ba là đảo chiều sau khi đã tính điểm trung bình. Nếu một biến cần đảo, hãy đảo ở cấp độ dữ liệu gốc trước khi tính điểm nhân tố hoặc chạy kiểm định độ tin cậy. Nếu đảo sau đó, bạn phải tính lại toàn bộ biến tổng hợp liên quan.
Lỗi thứ tư là xóa phiếu mà không ghi nhật ký. Tạo một cột ghi lý do như LOAI_S1, LOAI_THIEU, LOAI_TRA_LOI_DEU hoặc lập file nhật ký riêng. Hội đồng có thể hỏi vì sao số phiếu phát ra và số phiếu dùng phân tích khác nhau.
Cuối cùng, đừng sửa câu trả lời để làm đẹp kết quả. Bạn có thể sửa lỗi nhập liệu có bằng chứng, chẳng hạn chuyển chữ Nam về mã 1 theo codebook. Bạn không nên đổi một câu trả lời từ 2 thành 4 vì muốn Alpha hoặc hệ số hồi quy cao hơn.
Câu hỏi thường gặp
Mã hóa bảng hỏi có bắt buộc trước khi thu thập dữ liệu không?
Bạn vẫn có thể mã hóa dữ liệu sau khi thu thập, nhưng nên chốt codebook trước. Làm trước giúp thứ tự phương án, tên biến và điều kiện sàng lọc nhất quán giữa bản giấy, biểu mẫu trực tuyến và file SPSS.
Thang Likert 5 mức mã hóa từ 0 đến 4 được không?
Có thể, nếu bạn quy định rõ từ đầu và dùng nhất quán trong toàn bộ bảng hỏi. Tuy nhiên, nhiều bảng hỏi và tài liệu phương pháp dùng 1 đến 5, nên cách này thường dễ đọc và dễ giải thích hơn. Điều quan trọng là mã số phải giữ đúng thứ tự mức độ và được ghi trong codebook.
Câu hỏi chọn nhiều đáp án mã hóa như thế nào?
Tách mỗi phương án thành một biến riêng. Ví dụ, câu hỏi về kênh sử dụng có thể tạo WEB, APP và CUAHANG, trong đó 1 là có chọn và 0 là không chọn. Không gộp nhiều phương án vào một ô nếu bạn dự định đếm tần số hoặc so sánh các kênh.
Có nên dùng 99 cho câu trả lời bỏ trống không?
Bạn có thể dùng 99 làm mã missing nếu khai báo rõ trong SPSS và không để nó tham gia tính toán. Cách an toàn hơn là giữ ô trống thật sự khi phần mềm và quy trình phân tích của bạn xử lý missing đúng. Dù chọn cách nào, hãy thống nhất giữa các biến và ghi trong chương phương pháp.
Mã hóa sai có làm Cronbach's Alpha hoặc EFA sai không?
Có. Đảo chiều nhầm, nhập mã chữ thành số không đúng, để 99 như một mức Likert hoặc trộn các nhóm biến đều có thể làm thay đổi thống kê. Khi kết quả bất thường, hãy kiểm tra codebook, tần số từng biến và bảng dữ liệu gốc trước khi loại biến.
Bạn nên mở file dữ liệu ngay bây giờ, tạo một sheet codebook gồm mã biến, nhãn biến, giá trị và quy tắc missing, sau đó kiểm tra từng cột trước khi chạy phân tích. Nếu cần chạy trên chính file .sav hoặc .csv của mình, bạn có thể dùng module M4 phân tích dữ liệu của DoThesis.