Cách chạy restructure dữ liệu trong SPSS từ A đến Z

SPSS··16 phút đọc

Khi nào dùng restructure dữ liệu trong SPSS

Restructure dữ liệu trong SPSS là thao tác đổi cách sắp xếp quan sát trong file, thường giữa hai dạng Wide và Long. Đây là bước xử lý cấu trúc dữ liệu, không phải một kiểm định tạo ra p-value, hệ số hồi quy hay Cronbach's Alpha.

Bạn thường cần chạy restructure khi cùng một đối tượng được đo nhiều lần, một người trả lời có nhiều dòng dữ liệu, hoặc các biến đang được lặp thành nhiều cột nhưng thủ tục tiếp theo cần dữ liệu theo từng dòng. Ví dụ, file có DoanhThu_T1, DoanhThu_T2, DoanhThu_T3 là dạng Wide. Nếu chuyển sang Long, mỗi khách hàng có thể xuất hiện ba dòng, kèm một biến thời điểm và một biến doanh thu.

Hình dạng giả thuyết giúp bạn nhận ra nhu cầu này. Nếu đề tài hỏi doanh thu thay đổi thế nào qua ba tháng, hoặc điểm đo trước và sau can thiệp có khác nhau không, dữ liệu theo thời điểm có thể cần ở dạng Long. Nếu bạn chỉ khảo sát mỗi người một lần và mỗi biến quan sát nằm trên một cột, restructure thường chưa cần thiết.

Bạn có thể xem thêm các chủ đề xử lý dữ liệu tại chủ đề SPSS. Nếu vấn đề của bạn là gộp dữ liệu theo nhóm thay vì đổi Wide sang Long, hãy phân biệt với aggregate dữ liệu SPSS.

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

Trước khi mở hộp thoại Data Restructure, hãy lưu một bản sao của file .sav. Restructure có thể tạo ra file mới hoặc thay đổi cách SPSS sắp xếp các biến, vì vậy bạn cần giữ nguyên bản gốc để đối chiếu. Đặt tên bản sao có ngày xử lý, chẳng hạn khaosat_restructure_2026_09_08.sav.

Xác định đơn vị quan sát

Viết ra một câu trả lời cho câu hỏi: một dòng hiện tại đại diện cho ai hoặc cho lần đo nào. Nếu một dòng là một khách hàng và các cột chứa doanh thu tháng 1, tháng 2, tháng 3, file đang ở Wide. Nếu một dòng là một khách hàng tại một thời điểm, file gần với Long.

Đừng nhầm số dòng với số người. Sau khi chuyển sang Long, số dòng có thể tăng gấp ba hoặc gấp bốn nhưng số đối tượng nghiên cứu không tăng. Biến mã đối tượng, chẳng hạn ID, phải được giữ lại để bạn kiểm tra điều này.

Kiểm tra tên và kiểu biến

Tên biến trong SPSS nên ngắn, không có khoảng trắng và không trùng nhau. Kiểm tra ở Variable View các cột Name, Type, Label, Values và Measure. Các biến lặp phải có cùng kiểu dữ liệu. Nếu Diem_T1 là Numeric nhưng Diem_T2 là String, thao tác chuyển đổi có thể tạo giá trị thiếu hoặc không cho kết quả như bạn dự kiến.

Nếu biến định tính được mã hóa bằng số, giữ lại Value Labels như 1 = Nam, 2 = Nữ. Khi restructure, nhãn giá trị của biến chỉ số thời điểm và biến kết quả cần được đặt rõ để đọc Data View sau đó. Với dữ liệu sơ cấp từ bảng hỏi, bạn có thể đối chiếu cách mã hóa với bài viết về dữ liệu sơ cấp.

Xử lý missing value và biến đảo chiều

Restructure không tự sửa missing value và cũng không tự đảo chiều thang đo. Nếu một biến quan sát cần reverse code, hãy xử lý theo quy ước của thang đo trước khi chạy Cronbach's Alpha hoặc EFA. Một ô trống, mã 99 hoặc chuỗi NA phải được xác định rõ là missing hợp lệ hay là một giá trị thực.

Hãy ghi lại các biến sẽ chuyển đổi trong một bảng nháp. Bảng này giúp bạn không chọn nhầm biến mã đối tượng hoặc biến nhân khẩu học làm biến lặp.

Nhóm thông tinVí dụCần làm trước khi restructure
Mã đối tượngIDGiữ lại, kiểm tra không bị trống
Biến lặp theo thời điểmDiem_T1, Diem_T2, Diem_T3Kiểm tra cùng kiểu Numeric hoặc String
Chỉ số thời điểmT1, T2, T3Xác định nhãn thời điểm sau khi chuyển
Biến cố địnhGioiTinh, NhomKhông đưa vào nhóm biến lặp
Missing valueô trống, 99Thống nhất mã và khai báo trong Variable View

Các bước chạy restructure trong SPSS

Bước 1: Mở đúng hộp thoại Data Restructure

Trong SPSS, chọn Data > Restructure. Hộp thoại Restructure Data Wizard xuất hiện. Đây là đường dẫn chính cho cách chạy restructure dữ liệu trong SPSS, khác với Analyze, nơi bạn chạy hồi quy, EFA hoặc kiểm định.

Wizard thường hỏi bạn muốn chuyển các biến thành các trường hợp, chuyển các trường hợp thành các biến, hay chuyển đổi một số biến. Cách gọi có thể hơi khác theo phiên bản SPSS, nhưng logic vẫn là chọn hướng thay đổi cấu trúc trước khi khai báo biến.

Bước 2: Chọn chuyển biến thành trường hợp hoặc trường hợp thành biến

Chọn Restructure selected variables into cases khi bạn muốn chuyển nhiều cột lặp thành nhiều dòng. Đây là hướng Wide sang Long. Ví dụ, Diem_T1, Diem_T2, Diem_T3 sẽ trở thành một biến điểm chung, còn thời điểm sẽ được lưu trong một biến chỉ số.

Chọn Restructure selected cases into variables khi nhiều dòng cùng một đối tượng cần trải ra thành nhiều cột. Đây là hướng Long sang Wide. Bạn cần một biến định danh đối tượng và một biến chỉ số để SPSS biết dòng nào sẽ đi vào cột nào.

Nếu đang làm lần đầu, hãy chụp lại hoặc ghi tên lựa chọn này. Chọn ngược hướng có thể vẫn tạo ra file hợp lệ về kỹ thuật nhưng sai với câu hỏi nghiên cứu.

Bước 3: Khai báo biến nhận dạng và biến lặp

Ở bước tiếp theo, đưa ID hoặc biến mã đối tượng vào nhóm biến cố định, nếu bạn đang chuyển Wide sang Long. Đưa các biến lặp như Diem_T1, Diem_T2, Diem_T3 vào nhóm cần chuyển. Không đưa GioiTinh hoặc Khoa vào nhóm biến lặp nếu các giá trị này chỉ xuất hiện một lần cho mỗi người.

SPSS sẽ đề xuất tên cho biến mới, thường gồm một biến chứa giá trị và một biến chỉ số. Đổi tên để dễ đọc, chẳng hạn Diem cho giá trị đo và ThoiDiem cho chỉ số. Đừng đặt tên mới trùng với biến đã có trong file.

Bước 4: Chọn số nhóm biến và đặt biến chỉ số

Nếu bạn có nhiều bộ biến lặp, chẳng hạn Diem_T1, Diem_T2 và ChiPhi_T1, ChiPhi_T2, hãy kiểm tra xem chúng có cùng chỉ số thời điểm không. Trong trường hợp này, bạn có thể cần khai báo nhiều nhóm biến để SPSS tạo các biến Long tương ứng.

Đặt tên cho biến chỉ số và chọn cách đánh số. Chỉ số 1, 2, 3 có thể đại diện cho ba thời điểm, nhưng bạn nên thêm Value Labels như 1 = Tháng 1, 2 = Tháng 2, 3 = Tháng 3. Nếu thời điểm có ý nghĩa thực tế là ngày hoặc quý, hãy cân nhắc tạo biến ngày riêng thay vì để người đọc tự đoán.

Bước 5: Chọn cách xử lý file kết quả

Ở màn hình cuối, chọn tạo một dataset mới nếu bạn muốn giữ cửa sổ dữ liệu hiện tại để so sánh. Nếu chọn thay thế dataset đang mở, hãy chắc chắn bạn đã lưu bản gốc. Sau khi hoàn tất, kiểm tra số dòng, số cột và tên biến trước khi chạy bất kỳ phân tích nào.

Nếu bạn thường lặp lại thao tác này, có thể dùng File > New > Syntax để lưu syntax. Bạn có thể tham khảo cách chạy syntax SPSS để tạo nhật ký xử lý có thể chạy lại, thay vì chỉ dựa vào thao tác chuột.

Đọc kết quả output sau khi restructure

Restructure không sinh ra một bảng output phân tích như Coefficients hay ANOVA. Kết quả chính nằm ở Data View, Variable View và các thông báo trong cửa sổ Output. Bạn cần kiểm tra dữ liệu sau chuyển đổi bằng Analyze > Descriptive Statistics > Frequencies hoặc Analyze > Descriptive Statistics > Descriptives.

Kiểm tra số dòng và số đối tượng

Nếu có 120 người và ba thời điểm, Wide có thể có 120 dòng, còn Long thường có 360 dòng trước khi loại các dòng thiếu theo quy tắc của bạn. Số ID duy nhất vẫn phải là 120. Nếu số ID tăng, bạn đã chọn nhầm biến nhận dạng hoặc dữ liệu gốc đã có bản ghi trùng.

Kiểm tra biến chỉ số và giá trị đo

Mở Data View, sắp xếp theo ID và ThoiDiem. Mỗi ID nên có các dòng tương ứng với những thời điểm đã khai báo. Chọn Analyze > Descriptive Statistics > Frequencies để xem biến chỉ số có đủ các giá trị dự kiến 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. Tên cột mô phỏng những gì bạn sẽ kiểm tra trong bảng tần số sau khi chuyển đổi.

số liệu minh họa

StatisticsValid NMissing NMinimumMaximumMean
Diem342181.005.003.47
ThoiDiem36001.003.002.00
ID36001.00120.0060.50

Trong ví dụ minh họa, ThoiDiem có 360 giá trị hợp lệ, còn Diem có 18 giá trị thiếu. Con số này không tự chứng minh dữ liệu sai. Bạn cần quay lại file gốc để xem 18 ô thiếu đã có từ đầu hay phát sinh vì biến nguồn khác kiểu dữ liệu.

Kiểm tra thứ tự dữ liệu trước khi chạy phân tích

Nếu bạn chuyển Long sang Wide, hãy kiểm tra mỗi tổ hợp ID và ThoiDiem chỉ xuất hiện một lần. Có thể dùng Data > Identify Duplicate Cases để phát hiện trùng. Nếu có hai dòng cùng một ID và cùng thời điểm, SPSS không thể biết dòng nào nên đi vào cột tương ứng.

Sau đó, chạy một bảng mô tả nhỏ theo nhóm thời điểm. Nếu trung bình của Diem_T1 trong file Wide khác bất thường so với trung bình của Diem khi lọc ThoiDiem = 1 trong file Long, dừng lại và đối chiếu dữ liệu nguồn.

Tiêu chí đánh giá dữ liệu sau restructure

Vì restructure chỉ đổi hình dạng file, tiêu chí đầu tiên là tính bảo toàn dữ liệu, không phải một ngưỡng p-value cố định. Bạn cần chứng minh rằng các giá trị hợp lệ, mã đối tượng và thứ tự thời điểm vẫn đúng sau chuyển đổi.

Hạng mục cần kiểm traDấu hiệu đạtCách kiểm tra trong SPSSNguồn hoặc căn cứ
Số ID duy nhấtBằng số đối tượng trong file gốcData > Identify Duplicate Cases, FrequenciesQuy tắc kiểm tra tính nhất quán dữ liệu, không phải ngưỡng kiểm định
Số dòng sau Wide sang LongBằng số đối tượng nhân số thời điểm hợp lệ, có thể giảm do missingFrequencies và lọc theo ThoiDiemQuy tắc cấu trúc dữ liệu
Tổ hợp ID và thời điểmKhông trùng nếu thiết kế yêu cầu mỗi người chỉ có một dòng mỗi thời điểmData > Identify Duplicate CasesQuy tắc khóa dữ liệu
Kiểu biếnCác biến cùng nhóm có cùng kiểu dữ liệuVariable ViewQuy tắc tương thích biến của SPSS
Missing valueĐược giữ và giải thích theo file gốcFrequencies, Valid và MissingQuy tắc báo cáo dữ liệu thiếu
Độ tin cậy thang đo sau khi chuyểnChỉ đánh giá sau khi file đã đúng cấu trúc; Cronbach's Alpha từ 0.7 thường được chấp nhậnAnalyze > Scale > Reliability Analysis(Nunnally, 1978)

Dòng cuối chỉ áp dụng khi restructure là bước chuẩn bị cho kiểm định thang đo. Bạn không dùng Cronbach's Alpha để kết luận thao tác restructure đã đúng. Nếu có file Long với nhiều thời điểm, hãy xác định trước bạn sẽ chạy độ tin cậy trên toàn bộ dữ liệu hay từng thời điểm, vì hai cách này trả lời hai câu hỏi khác nhau.

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

Trong chương phương pháp, bạn mô tả lý do chọn cấu trúc dữ liệu, biến nhận dạng, biến chỉ số và cách kiểm tra sau chuyển đổi. Trong chương kết quả, chỉ báo cáo số dòng, số đối tượng và tình trạng dữ liệu thiếu nếu các thông tin này liên quan đến phân tích tiếp theo.

Cách viết vào luận văn: “Dữ liệu ban đầu gồm [số đối tượng] dòng ở dạng Wide, trong đó các biến [tên biến] được ghi nhận tại [số thời điểm] thời điểm. Tác giả sử dụng chức năng Data > Restructure trong SPSS để chuyển dữ liệu sang dạng Long, với [tên biến ID] là biến nhận dạng và [tên biến chỉ số] là biến thời điểm. Sau khi chuyển đổi, dữ liệu gồm [số dòng] dòng và [số ID duy nhất] đối tượng; các giá trị thiếu được kiểm tra bằng bảng tần số trước khi phân tích tiếp theo.”

Bạn thay toàn bộ phần trong ngoặc vuông bằng số liệu thật từ file của mình. Đừng viết rằng dữ liệu “được làm sạch hoàn toàn” nếu bạn mới chỉ kiểm tra số dòng. Nếu có dòng bị loại, ghi rõ điều kiện loại và số lượng bị loại.

Lỗi thường gặp khi chạy restructure trong SPSS

Chọn ngược hướng chuyển đổi

Lỗi này thường xảy ra khi bạn có file Long nhưng lại chọn chuyển biến thành trường hợp. Hãy nhìn lại một dòng đại diện cho người hay cho một lần đo. Nếu mỗi ID đã xuất hiện nhiều dòng, bạn có thể đang cần Long sang Wide.

Đưa nhầm biến cố định vào nhóm biến lặp

Khi GioiTinh hoặc Nhom bị đưa vào nhóm biến lặp, SPSS có thể tạo các giá trị lặp không có ý nghĩa. Cách sửa là chạy lại từ bản gốc và giữ những biến này trong nhóm cố định.

Biến nguồn khác kiểu dữ liệu

Một số cột có thể hiển thị cùng dạng số nhưng một cột thực tế là String. Mở Variable View để kiểm tra Type. Nếu cần đổi kiểu, tạo biến mới bằng Transform > Automatic Recode hoặc Transform > Compute Variable, rồi kiểm tra lại trước khi restructure.

Mất nhãn biến hoặc nhãn giá trị

Sau khi tạo biến mới, label có thể chưa mô tả đủ nội dung. Vào Variable View và bổ sung Label, Values, Missing và Measure. Việc này đặc biệt cần thiết khi người khác đọc file hoặc bạn xuất bảng cho chương 4.

Dùng restructure để sửa lỗi thiết kế dữ liệu

Restructure chỉ thay đổi hình dạng. Nó không sửa người trả lời trùng, không phát hiện câu trả lời thiếu logic và không thay thế bước xác định biến định tính, biến định lượng. Nếu bạn đang phân vân biến nào được đưa vào hồi quy, hãy xem hướng dẫn biến định tính chạy hồi quy phải làm sao.

Không lưu nhật ký xử lý

Nếu bạn chỉ bấm qua Wizard rồi lưu đè file, vài ngày sau bạn có thể không nhớ đã chọn hướng nào. Lưu syntax, ghi ngày xử lý và giữ file gốc. Khi phát hiện sai, quay lại bản gốc sẽ an toàn hơn sửa tiếp trên file đã qua nhiều vòng biến đổi.

Đọc thêm: dữ liệu thứ cấp là gì, dữ liệu sơ cấp, aggregate dữ liệu spss, biến định tính chạy hồi quy phải làm sao, chạy syntax spss, chủ đề spss.

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

Restructure dữ liệu SPSS có làm thay đổi số người khảo sát không

Không. Restructure có thể làm tăng hoặc giảm số dòng tùy hướng chuyển đổi và giá trị thiếu, nhưng không tự tạo người trả lời mới. Hãy đếm số ID duy nhất trước và sau khi chạy để kiểm tra.

Khi nào nên dùng Wide và khi nào nên dùng Long

Wide dễ đọc khi mỗi đối tượng chỉ có một dòng và các thời điểm nằm ở các cột riêng. Long phù hợp khi một đối tượng có nhiều dòng theo thời điểm hoặc khi thủ tục phân tích cần biến thời gian nằm trong một cột. Quyết định nên dựa vào đơn vị quan sát và thủ tục tiếp theo, không dựa vào việc dạng nào nhìn ngắn hơn.

Restructure bị lỗi thì làm sao

Quay lại bản sao file gốc, kiểm tra tên biến, kiểu dữ liệu, biến ID và các bản ghi trùng. Sau đó chạy lại với ít biến hơn để xác định nhóm biến gây lỗi. Nếu SPSS báo lỗi nhưng vẫn tạo dataset, đừng dùng ngay file đó cho hồi quy hoặc EFA trước khi kiểm tra số dòng và giá trị thiếu.

Có thể chạy restructure bằng syntax SPSS không

Có. Bạn có thể tạo syntax từ thao tác Wizard hoặc viết lệnh sau khi đã xác định hướng chuyển đổi và tên biến. Syntax giúp lưu lại các bước, nhưng không thay thế việc kiểm tra Data View. Một câu lệnh chạy thành công vẫn có thể cho ra cấu trúc sai nếu bạn khai báo nhầm biến ID.

Có cần restructure trước khi chạy Cronbach's Alpha không

Chỉ cần khi hình dạng file hiện tại không phù hợp với cách bạn xác định thang đo hoặc thời điểm đo. Với khảo sát một lần, mỗi người một dòng và mỗi biến quan sát một cột, bạn thường chạy Cronbach's Alpha trực tiếp. Với dữ liệu nhiều thời điểm, hãy xác định rõ phân tích cần toàn bộ quan sát hay từng thời điểm trước khi chuyển file.

Mở bản sao .sav của bạn, ghi rõ một dòng đang đại diện cho ai, sau đó chạy Data > Restructure và kiểm tra số ID, số dòng, biến chỉ số cùng missing value trước khi chuyển sang phân tích tiếp theo. Nếu bạn muốn chạy phân tích trên chính file .sav hoặc .csv và có nhật ký xử lý rõ ràng, M4 phân tích dữ liệu của DoThesis thực hiện bước này.