Cách mã hóa lại biến Recode trong SPSS đúng cách

SPSS··16 phút đọc

Khi nào dùng mã hóa lại biến Recode trong SPSS

Mã hóa lại biến, thường gọi là Recode, dùng khi bạn cần tạo một biến mới có giá trị được chuyển đổi từ biến gốc. Tình huống phổ biến nhất là đảo chiều một biến quan sát trong thang đo Likert, gom một biến định lượng thành các nhóm, hoặc chuyển mã số của một biến định tính sang cách biểu diễn phù hợp với mô hình.

Ví dụ, bảng hỏi dùng thang Likert từ 1 đến 5 nhưng biến quan sát đang diễn đạt theo chiều tiêu cực. Người chọn mức 1 thực chất đang thể hiện mức đồng ý cao với nội dung tiêu cực đó. Nếu đưa biến này vào Cronbach's Alpha hoặc EFA mà chưa đảo chiều, tương quan giữa biến này với các biến còn lại có thể bị thấp hoặc âm.

Bạn cũng có thể cần Recode khi biến giới tính đang được nhập là 1 và 2 nhưng muốn tạo biến giả 0 và 1 cho hồi quy, hoặc khi tuổi được chia thành nhóm dưới 25, từ 25 đến 35 và trên 35. Tuy nhiên, Recode không phải là cách sửa một dữ liệu nhập sai mà không để lại dấu vết. Bạn cần giữ biến gốc, ghi lại quy tắc chuyển đổi và đặt tên biến mới rõ ràng.

Nếu bạn đang xử lý biến định tính để đưa vào hồi quy, hãy xem thêm hướng dẫn biến định tính chạy hồi quy phải làm sao. Còn nếu mục tiêu của bạn là đưa các biến về cùng một thang đo trước khi phân tích, đó là câu chuyện khác với Recode và có thể xem chuẩn hóa dữ liệu là gì.

Chuẩn bị dữ liệu trước khi chạy

Trước khi mở hộp thoại Recode, bạn cần xác định chính xác biến nào sẽ được chuyển đổi và mục đích của biến mới. Hãy mở Variable View để kiểm tra Name, Type, Label, Values, Missing và Measure. Trong Data View, xem một số dòng thực tế để phát hiện giá trị ngoài phạm vi bảng hỏi như 0, 6 hoặc 99.

Nếu biến là một item Likert từ 1 đến 5, bạn cần biết toàn bộ thang đo có dùng cùng chiều hay không. Với đảo chiều thang 1 đến 5, quy tắc thường là 1 thành 5, 2 thành 4, 3 giữ nguyên, 4 thành 2 và 5 thành 1. Công thức tổng quát là giá trị mới bằng giá trị nhỏ nhất cộng giá trị lớn nhất rồi trừ giá trị cũ. Công thức này chỉ phù hợp khi thang đo có giới hạn rõ ràng và các mức cách đều nhau.

Nếu bạn muốn gộp nhóm, hãy quyết định khoảng giá trị trước khi chạy. Chẳng hạn, tuổi từ 18 đến 24 thành nhóm 1, từ 25 đến 34 thành nhóm 2, từ 35 đến 44 thành nhóm 3. Các khoảng phải không bị chồng lên nhau và không để sót giá trị hợp lệ.

Kiểm tra Missing Values cũng rất quan trọng. Nếu mã 99 đại diện cho người trả lời bỏ trống, không được để SPSS hiểu 99 là một giá trị tuổi hoặc một mức Likert. Bạn có thể khai báo 99 là missing trong Variable View hoặc đưa riêng giá trị này vào nhóm System-missing trong hộp thoại Recode.

Việc cần kiểm traCâu hỏi bạn phải trả lờiRủi ro nếu bỏ qua
Biến nguồnBiến gốc là biến nào, kiểu Numeric hay StringChọn nhầm cột hoặc không chạy được lệnh
Khoảng giá trịBiến có các giá trị hợp lệ nàoĐảo chiều sai hoặc tạo nhóm thiếu dữ liệu
MissingMã bỏ trống là 99, 999 hay ô trốngBiến Missing bị tính như dữ liệu thật
Chiều thang đoItem có đang diễn đạt ngược chiều khôngAlpha thấp, tương quan âm, EFA khó diễn giải
Biến đíchTên biến mới có dễ nhận biết khôngGhi đè biến gốc và mất khả năng đối chiếu

Bạn nên lưu một bản sao trước khi sửa. Nếu file đang dùng dữ liệu sơ cấp từ bảng hỏi, hãy giữ một file dữ liệu thô chỉ đọc và một file làm sạch để phân tích. Khi cần đối chiếu nguồn dữ liệu, bạn có thể xem thêm bài dữ liệu sơ cấp. Với dữ liệu lấy từ báo cáo hoặc nguồn có sẵn, bài dữ liệu thứ cấp là gì sẽ giúp bạn phân biệt bối cảnh sử dụng.

Các bước chạy mã hóa lại biến Recode trong SPSS

Bước 1: Chọn lệnh Recode và biến nguồn

Trong SPSS, chọn Transform > Recode into Different Variables. Dùng Recode into Different Variables thay vì Recode into Same Variables trong phần lớn bài luận văn. Cách này giữ nguyên biến gốc để bạn có thể kiểm tra trước và sau khi chuyển đổi.

Ở khung bên trái, chọn biến cần mã hóa lại rồi đưa sang ô Numeric Variable -> Output Variable. Tại phần Output Variable, nhập tên biến mới, chẳng hạn DV1_R nếu đang đảo chiều biến DV1. Tên biến không nên có dấu cách và nên phản ánh quy tắc xử lý. Nhập nhãn tại ô Label, ví dụ DV1 đảo chiều từ thang 1-5, rồi bấm Change. Nếu bạn không bấm Change, SPSS có thể chưa ghi nhận tên biến đích.

Bước 2: Khai báo giá trị cũ và giá trị mới

Bấm nút Old and New Values. Đây là nơi quyết định kết quả Recode. Với đảo chiều thang 1 đến 5, nhập Old Value là 1, New Value là 5 rồi bấm Add. Tiếp tục nhập 2 thành 4, 3 thành 3, 4 thành 2 và 5 thành 1.

Nếu gộp nhóm, bạn có thể chọn Range. Ví dụ, nhập 18 through 24 ở Old Value và 1 ở New Value, sau đó bấm Add. Thực hiện tương tự cho các khoảng còn lại. Nếu muốn xử lý một giá trị bất kỳ, chọn Value. Nếu muốn giữ nguyên một số giá trị chưa được liệt kê, chọn All other values và nhập Copy old values.

Bạn cần đặc biệt chú ý mục System-missing. Nếu dữ liệu bỏ trống phải tiếp tục bỏ trống sau Recode, chọn System-missing ở Old Value và System-missing ở New Value, hoặc để SPSS không chuyển đổi chúng. Với mã 99 là missing do người nhập dữ liệu quy ước, hãy đưa 99 vào mục riêng và chuyển thành System-missing nếu đó là quy tắc làm sạch của bạn.

Bước 3: Chạy lệnh và kiểm tra biến mới

Bấm Continue, sau đó bấm OK. SPSS sẽ tạo biến mới ở cuối bảng dữ liệu. Nếu cửa sổ Output mở ra nhưng bạn không thấy bảng kết quả, hãy xem Data View và Variable View, vì Recode chủ yếu tạo hoặc thay đổi dữ liệu chứ không phải một kiểm định thống kê.

Kiểm tra vài dòng đầu bằng cách đối chiếu biến gốc và biến mới. Sau đó chọn Analyze > Descriptive Statistics > Frequencies, đưa biến mới vào ô Variable(s), rồi xem bảng Frequencies. Với đảo chiều thang 1 đến 5, tần suất của biến mới thường hoán đổi theo cặp với biến gốc. Nếu biến gốc có 20 người chọn mức 1 thì biến mới phải có 20 người ở mức 5, trừ trường hợp có missing hoặc quy tắc xử lý khác.

Bạn cũng có thể chạy lệnh bằng Syntax để lưu lại toàn bộ quy trình. Chọn Paste thay vì OK trong hộp thoại để SPSS tạo cú pháp, sau đó kiểm tra và chạy trong Syntax Editor. Hướng dẫn chạy syntax SPSS phù hợp khi bạn có nhiều biến cần đảo chiều theo cùng một quy tắc.

Bước 4: Lưu và ghi lại lịch sử xử lý

Lưu file với tên mới, chẳng hạn du_lieu_lam_sach_v2.sav. Trong một bảng theo dõi riêng, ghi biến gốc, biến mới, lý do Recode, quy tắc chuyển đổi và ngày xử lý. Thói quen này giúp bạn trả lời khi giảng viên hỏi vì sao DV1_R có giá trị khác DV1.

Nếu bạn dùng Recode để đảo chiều trước Cronbach's Alpha, hãy dùng biến mới trong các bước sau và không đưa đồng thời cả biến gốc lẫn biến đảo chiều vào cùng một thang đo. Hai biến đó chứa cùng thông tin và có thể làm sai kết quả phân tích.

Đọc kết quả output

Kiểm tra bảng Frequencies

Bảng Frequencies là nơi kiểm tra trực tiếp nhất sau Recode. Các cột thường gặp gồm Frequency, Percent, Valid Percent và Cumulative Percent. Bạn cần tập trung vào Frequency và Valid Percent để xem biến mới có xuất hiện giá trị ngoài dự kiến hay không.

Bảng dưới đây là số liệu minh họa, không phải kết quả của một nghiên cứu thật. Giả sử DV1 là item Likert 1 đến 5 và DV1_R được đảo chiều. Nếu biến gốc có 120 quan sát hợp lệ, tổng Frequency của biến mới cũng phải là 120.

DV1_RFrequencyPercentValid PercentCumulative Percent
186.76.76.7
21714.214.220.8
33125.825.846.7
43932.532.579.2
52520.820.8100.0
Total120100.0100.0100.0

Nếu bảng xuất hiện giá trị 0, 6 hoặc 99 trong khi thang đo chỉ có 1 đến 5, bạn chưa xử lý hết dữ liệu ngoài phạm vi. Nếu Total nhỏ hơn số bảng hỏi hợp lệ dự kiến, hãy kiểm tra điều kiện Missing hoặc xem biến nguồn có thực sự chứa dữ liệu hay không.

Kiểm tra Descriptive Statistics và nhãn giá trị

Chọn Analyze > Descriptive Statistics > Descriptives để xem N, Minimum, Maximum, Mean và Std. Deviation của biến mới. Với đảo chiều thang 1 đến 5, Minimum và Maximum vẫn nằm trong khoảng 1 đến 5. Mean của biến đảo chiều có thể thay đổi theo công thức, nhưng không được dùng cảm tính để kết luận biến đã đúng.

Trong Variable View, kiểm tra cột Values của biến mới. Nếu biến cũ có nhãn 1 là Hoàn toàn không đồng ý và 5 là Hoàn toàn đồng ý, nhãn của biến đảo chiều phải được xem lại. Một số trường hợp bạn chỉ cần đảo chiều số, nhưng nhãn giá trị cũng cần phản ánh chiều mới để khi đọc bảng dữ liệu không bị hiểu ngược.

Kiểm tra trong phân tích tiếp theo

Sau khi Recode một item đảo chiều, chạy lại Analyze > Scale > Reliability Analysis với toàn bộ biến của thang đo. Trong hộp thoại, đưa biến mới vào Items, chọn Model là Alpha, bấm Statistics và đánh dấu Scale if item deleted cùng Correlations nếu cần. Bảng Item-Total Statistics giúp bạn xem Corrected Item-Total Correlation của item sau xử lý.

Nếu biến đảo chiều vẫn có tương quan âm, hãy dừng lại để kiểm tra nội dung bảng hỏi, mã hóa ban đầu và công thức chuyển đổi. Đừng xóa biến chỉ vì một con số không đẹp. EFA, hồi quy hay Cronbach's Alpha đều phụ thuộc vào việc dữ liệu được mã hóa đúng trước khi chạy.

Tiêu chí đánh giá

Recode không có một chỉ số duy nhất để kết luận đạt hay không đạt. Bạn đánh giá theo mục đích xử lý, phạm vi giá trị và kết quả của phân tích kế tiếp. Bảng dưới đây tập trung vào các mốc thường dùng sau khi Recode trong nghiên cứu định lượng.

Nội dung kiểm traMốc tham khảoNguồn
Corrected Item-Total Correlation sau khi đảo chiềuTừ 0.3 trở lên(Nunnally và Bernstein, 1994)
Cronbach's Alpha của thang đoTừ 0.7 trở lên(Nunnally, 1978)
Cronbach's Alpha trong nghiên cứu khám pháCó thể từ 0.6 trở lên(Hair và cộng sự, 2010)
KMO trước EFATừ 0.5 trở lên(Kaiser, 1974)
Factor loading trong EFATừ 0.5 trở lên(Hair và cộng sự, 2010)
Total variance explainedTừ 50% trở lên(Hair và cộng sự, 2010)

Các mốc trong bảng chỉ được dùng khi chúng phù hợp với phân tích bạn đang thực hiện. Ví dụ, Corrected Item-Total Correlation dùng để xem quan hệ giữa item và thang đo, không phải tiêu chí để xác nhận riêng một biến đã được Recode chính xác. Muốn xác nhận Recode, bạn phải kiểm tra quy tắc ánh xạ và phân phối của biến mới.

Nếu bạn chạy EFA, KMO, Bartlett's Test, Total Variance Explained và Rotated Component Matrix sẽ được đọc theo quy trình EFA, không phải theo một quy tắc riêng của Recode. Bạn có thể xem thêm các chủ đề SPSS để nối bước làm sạch dữ liệu với phân tích thang đo.

Cách viết kết quả vào luận văn

Cách viết vào luận văn: “Để thống nhất chiều đo của thang đo [tên khái niệm], biến quan sát [mã biến] được mã hóa lại từ thang Likert [số mức], theo quy tắc [quy tắc chuyển đổi]. Biến gốc được giữ lại để đối chiếu, trong khi biến [tên biến mới] được sử dụng trong phân tích [Cronbach's Alpha/EFA/hồi quy]. Kiểm tra bảng Frequencies cho thấy biến mới có các giá trị trong khoảng [min] đến [max] và không xuất hiện mã ngoài phạm vi hợp lệ.”

Bạn thay các phần trong ngoặc vuông bằng thông tin thật từ file của mình. Nếu có loại bỏ giá trị missing, cần ghi rõ mã missing và số quan sát còn lại. Không nên viết rằng Recode làm tăng độ tin cậy nếu bạn chưa có bảng Reliability Statistics trước và sau để đối chiếu.

Trong phần phương pháp, mô tả quy tắc xử lý và lý do giữ biến gốc. Trong chương kết quả, trình bày kết quả phân tích sau Recode, chẳng hạn Cronbach's Alpha, Corrected Item-Total Correlation hoặc bảng Frequencies khi việc kiểm tra phân phối là cần thiết. Số liệu minh họa trong bài này không được đưa vào luận văn của bạn.

Lỗi thường gặp khi chạy mã hóa lại biến Recode

Ghi đè lên biến gốc

Chọn Recode into Same Variables có thể làm mất dữ liệu ban đầu. Nếu sau đó phát hiện quy tắc sai, bạn không còn bản đối chiếu trong cùng file. Hãy dùng Recode into Different Variables và đặt tên mới có hậu tố như _R, _new hoặc _group.

Quên bấm Change

Trong hộp thoại Output Variable, nhập tên biến và nhãn nhưng không bấm Change là lỗi thao tác phổ biến. Khi đó SPSS chưa đưa biến đích vào danh sách chuyển đổi. Sau khi bấm Change, kiểm tra phần Old -> New để chắc chắn quy tắc đã được ghi nhận.

Đảo chiều sai số mức

Với thang 1 đến 5, biến 1 thành 5. Với thang 1 đến 7, biến 1 thành 7 và 2 thành 6. Không thể dùng bảng chuyển đổi của thang 1 đến 5 cho thang 1 đến 7. Nếu bảng hỏi có mức 0 đến 10, cần xác định rõ toàn bộ giới hạn trước khi viết quy tắc.

Xử lý mã missing như giá trị thật

Mã 99 hoặc 999 có thể làm Mean và Maximum tăng bất thường. Kiểm tra bảng Frequencies ngay sau Recode, đồng thời khai báo User-missing trong Variable View nếu đó là quy ước của bộ dữ liệu.

Dùng cả biến gốc và biến mới trong cùng thang đo

Sau khi tạo DV1_R, bạn phải thay DV1 bằng DV1_R trong danh sách item của thang đo. Đưa cả hai vào cùng một lần chạy khiến kết quả bị trùng thông tin và khó giải trình.

Xóa biến chỉ vì Alpha chưa đạt

Recode chỉ sửa chiều mã hóa hoặc nhóm giá trị. Nó không bảo đảm Cronbach's Alpha sẽ đạt. Nếu Alpha thấp, xem nội dung item, Corrected Item-Total Correlation, dữ liệu thiếu và thiết kế thang đo trước khi quyết định loại biến. Việc loại biến cần có lý do phương pháp, không chỉ dựa vào mong muốn làm đẹp output.

Câu hỏi thường gặp

Recode trong SPSS là gì

Recode là thao tác chuyển các giá trị cũ của một biến thành giá trị mới theo quy tắc do bạn khai báo. Bạn có thể tạo biến mới hoặc ghi đè lên biến cũ, nhưng trong luận văn nên ưu tiên tạo biến mới để giữ dữ liệu gốc.

Khi nào cần đảo chiều biến trong SPSS

Bạn cần đảo chiều khi một biến quan sát diễn đạt ngược hướng với các biến còn lại trong cùng thang đo. Ví dụ, các item khác đo mức hài lòng càng cao thì điểm càng lớn, còn một item tiêu cực có điểm lớn lại thể hiện sự không hài lòng. Hãy đọc nội dung item và mã hóa bảng hỏi trước khi quyết định đảo chiều.

Nên dùng Recode into Different Variables hay Same Variables

Nên dùng Recode into Different Variables trong giai đoạn làm sạch và phân tích luận văn. Bạn giữ được biến gốc, biến mới có tên rõ ràng và có thể kiểm tra lại công thức. Recode into Same Variables chỉ phù hợp khi bạn đã có bản sao dữ liệu và chắc chắn muốn thay đổi trực tiếp biến đó.

Vì sao đã Recode nhưng Cronbach's Alpha vẫn thấp

Recode chỉ xử lý hướng hoặc nhóm giá trị, không sửa được item không phù hợp, dữ liệu trả lời thiếu chất lượng hay thang đo chưa nhất quán. Bạn cần xem Item-Total Statistics, đặc biệt là Corrected Item-Total Correlation, rồi kiểm tra lại quy tắc đảo chiều và mã missing.

Có thể dùng Syntax để Recode nhiều biến cùng lúc không

Có. Syntax giúp bạn lưu được lịch sử xử lý và áp dụng cùng một quy tắc cho nhiều biến. Tuy nhiên, hãy chạy thử trên một bản sao, kiểm tra bảng Frequencies và xác nhận tên biến trước khi áp dụng cho toàn bộ file.

Mở file .sav của bạn, lập danh sách biến cần xử lý và kiểm tra từng mã giá trị trước khi chọn Transform > Recode into Different Variables. Sau khi đối chiếu Frequencies, lưu bản làm sạch và dùng M4 phân tích dữ liệu SPSS và SmartPLS của DoThesis nếu bạn cần chạy tiếp các bước trên chính file dữ liệu của mình.