מ-SPSS לאקסל
טוענים קובץ SPSS (.sav / .zsav) – ומקבלים שלושה קובצי אקסל: הנתונים בקודים (בתבנית התקנית של האתר, עם גיליון "מקרא" שנבנה מהמילון של הקובץ), הנתונים בתוויות, ותצוגת הדאטה. מוכנים לכל מחשבון באתר – וגם למי שאין לו SPSS. אופציונלית: השאלון כקובץ Word משלים את נוסח השאלות. הפלט: לוח המשתנים, משפטי תיעוד, Word, וסינטקס שמצליב ומשחזר.
טעינת קובץ SPSS
השאלון – אופציונלי
קובץ ה-SPSS מספיק. אם מצרפים גם את השאלון כקובץ Word (.docx), נוסח השאלה המלא, אפשרויות התשובה והנחיות הסינון ("רק מי שענה כן בשאלה 16") ייכנסו למקרא – כי SPSS חותך תוויות ארוכות ואינו שומר את לוגיקת הדילוגים.
אפשרויות
מתי משתמשים בעמוד הזה?
בשני מצבים. הראשון – יש לכם קובץ נתונים של SPSS (מכון סקרים, פאנל, מחקר קודם), ואתם רוצים להריץ עליו את מחשבוני האתר: כל מחשבון קורא אקסל בתבנית התקנית – שורה לכל נבדק, עמודה לכל משתנה, שורת כותרות ראשונה – וזה בדיוק הקובץ הראשון שיוצא מכאן. השני – אין לכם SPSS בכלל, ומישהו שלח לכם .sav. הקובץ הזה הוא פורמט סגור: אקסל לא פותח אותו, ובלי התוכנה אי אפשר לדעת אפילו מה שמות המשתנים. העמוד פותח אותו בדפדפן, בלי התקנה ובלי לשלוח את הנתונים לשום מקום, ומחזיר את כל מה ש-SPSS יודע על הקובץ – בשלושה קובצי אקסל.
ערכים ללא תוויות
הנתונים כפי שהם שמורים: 1 ו-2, לא "גבר" ו"אישה". גיליון "נתונים" – שורה = נבדק, עמודה = משתנה, שורת כותרות = שמות המשתנים – ולצדו גיליון "מקרא" בתבנית התקנית של האתר, שנבנה מהמילון של קובץ ה-SPSS: תיאור המשתנה (התווית), סוג המשתנה (לפי רמת המדידה: קטגוריאלי / סדר / רציף), הקידוד (תוויות הערך) והערות על ערכים חסרים מוגדרים. זה הקובץ שטוענים במחשבונים – הם מזהים ממנו את סוגי המשתנים והתוויות – והוא הקובץ שעליו עושים חישובים באקסל.
תוויות ללא ערכים
אותם נתונים, אבל כל קוד שיש לו תווית מוחלף בתווית: "גבר", "חילוני/ת", "מחוז הצפון". נוח לקריאה, לסינון ולטבלאות ציר באקסל – אבל לא לחישוב, כי הסולמות הפכו לטקסט.
תצוגת הדאטה
המקרא. גיליון "משתנים": לכל משתנה – מיקום, תווית, רמת מדידה, פורמט וערכים חסרים מוגדרים. גיליון "ערכי המשתנים": לכל קוד – התווית שלו. זה מה ש-SPSS מציג ב-Display Data File Information.
קובץ הדוגמה
מי שרוצה להתנסות בלי קובץ משלו מוריד מכרטיס המחשבון את קובץ הדוגמה (בעברית או באנגלית): זהו קובץ הדוגמה של מחשבוני האתר – 120 נבדקים, מין, גיל, השכלה, קבוצת מחקר, שמונה פריטי עמדות וציון סולם – כפי ש-SPSS היה שומר אותו: עם תוויות משתנים, תוויות ערך (1 = גבר; 2 = אישה), רמות מדידה לפי המקרא, פורמט F8 לקודים ו-F8.2 לציון הסולם, ושלושה ערכים של "השכלה" שמוגדרים כערך חסר מוגדר (9 = מסרב/ת) – כדי שאפשר יהיה לראות מה תיבת הסימון עושה. אחרי ההמרה, קובץ "ערכים ללא תוויות" שיוצא ממנו זהה בתוכנו לקובץ הדוגמה של המחשבונים, כולל גיליון המקרא.
איך קוראים את הפלט?
לוח 1 בפלט הוא סיכום של הקובץ, משתנה אחר משתנה, לפני שמורידים כלום: מה הפורמט (F8 – מספר שלם ברוחב 8; F8.2 – שתי ספרות עשרוניות; A255 – טקסט עד 255 תווים; DATETIME20 – תאריך ושעה), מה רמת המדידה שהוגדרה ב-SPSS (נומינלי, סדר, רווח – Nominal / Ordinal / Scale), כמה תצפיות תקפות יש, כמה חסרות, וכמה תוויות ערך הוגדרו. שימו לב לעמודת רמת המדידה: מכוני סקרים רבים משאירים את כל המשתנים כ-Nominal (כך גם בקובץ הדוגמה שעליו אומת העמוד) – זו לא עדות על סוג המשתנה, אלא על ברירת המחדל שלא שונתה. את סוג המשתנה תקבעו לפי השאלון. בגרסה 2 רמת המדידה הזאת היא שקובעת את עמודת "סוג המשתנה" בגיליון "מקרא" (Nominal ← קטגוריאלי, Ordinal ← סדר, Scale ← רציף), ומחשבוני האתר הולכים אחריה: קובץ שכל משתניו Nominal ייטען בהם כקובץ של משתנים קטגוריאליים בלבד. לכן, לפני ההמרה, כדאי לתקן את העמודה Measure בחלון המשתנים של SPSS (Variable View) – או, אחרי ההמרה, לערוך את עמודת "סוג המשתנה" בגיליון "מקרא" באקסל.
גיליון "משתנים" בתצוגת הדאטה מחזיר את מה ש-SPSS מציג: Variable (שם), Position (מיקום בקובץ), Label (התווית – נוסח השאלה, כפי שהוזן), Measurement Level, Role (תפקיד – כמעט תמיד Input), Column Width ו-Alignment (תצוגה בלבד), Print Format ו-Write Format. אם בקובץ הוגדרו ערכים חסרים, נוספת עמודת Missing Values. ואם צורף שאלון – נוספות שתי עמודות: נוסח השאלה המלא (במקום התווית החתוכה) וההנחיה או הסינון שנלוו לשאלה.
גיליון "ערכי המשתנים" הוא המקרא במובן הצר: שם המשתנה, הקוד והתווית – Gender: 1 = גבר, 2 = אישה. במשתנה של סימון מרובה (Q1_1 … Q1_9) כל אפשרות היא משתנה נפרד עם 0 = Not Selected, 1 = Selected, ושם האפשרות עצמה נמצא בתווית המשתנה (עמודת Label בגיליון הראשון) – לא בתוויות הערך.
לוח 2 (כשצורף שאלון) מראה איזו שאלה הותאמה לאיזה משתנה. ההתאמה נעשית לפי שם המשתנה: Q7 לשאלה Q7; Q1_3 לאפשרות 3 של שאלה Q1; Q2_4T לטקסט החופשי של אפשרות 4 ("אחר, פרט/י"). משתנים ששמם אינו קוד שאלה – Gender, City, RECORDID – נשארים בלי התאמה, ומצוינים בהערה מעל הלוח. זה מכוון: עדיף מקרא חסר ממקרא שמנחש.
הורדת הפלט כ-Word (שורת הייצוא) שומרת את לוח המשתנים, לוח ההתאמה לשאלון ומשפטי התיעוד – מסמך קצר שמתעד את הקובץ, לנספח המתודולוגי; שלושת קובצי האקסל מורדים בנפרד.
הנחות ואזהרות
שני סוגי ערכים חסרים. ב-SPSS יש חסר-מערכת (system-missing – תא ריק, נקודה בתצוגה) וחסר מוגדר (user-missing – קוד שהחוקר הגדיר כחסר, למשל 99 = "לא יודע"). חסר-מערכת הופך תמיד לתא ריק. חסר מוגדר – לפי תיבת הסימון: כברירת מחדל הוא הופך לתא ריק, כי כך התבנית התקנית של האתר מזהה חסר, וכל מחשבון באתר מטפל בו כמו SPSS (מחיקה זוגית או רשימתית לפי המבחן). בלי הסימון הקוד נשאר, ואז המחשבונים יחשבו אותו כערך תקף – למשל 99 בממוצע של סולם 1-5. הקודים והמשמעות שלהם נשמרים בכל מקרה בתצוגת הדאטה.
קודים שאינם חסרים אבל אינם סולם. "אחר, פרט/י" (למשל 6 בסולם של 1-5) ו"מסרב/ת" הם ערכים תקפים מבחינת SPSS אם החוקר לא הגדיר אותם כחסרים – והם עוברים לאקסל כמו שהם. לפני מתאם או ממוצע על משתנה כזה יש להוציא אותם (בעמוד המחשבון או באקסל). לוח 1 עוזר לזהות אותם: מספר תוויות הערך גדול ממספר דרגות הסולם.
תאריכים ושעות. SPSS שומר תאריך כמספר השניות מאז 14 באוקטובר 1582. העמוד ממיר אותו לתאריך אמיתי של אקסל (yyyy-mm-dd או yyyy-mm-dd hh:mm:ss, לפי פורמט המשתנה), כך שאפשר לחשב עליו הפרשים. משך (TIME) הופך לשעות:דקות:שניות. תאריכים שלפני 1 במרץ 1900 מקבלים תיקון של יום, בגלל השנה המעוברת המדומה של אקסל.
מספרים ארוכים נשארים טקסט. משתנה מחרוזת שמכיל ספרות (מזהה רשומה של 18 ספרות, למשל) נכתב כטקסט – בכוונה. אקסל שומר רק 15 ספרות משמעותיות במספר, ומזהה שהיה נהפך למספר היה מאבד את הספרות האחרונות. משתנה מספרי נכתב כמספר, בפורמט ההדפסה שלו: F8 בלי עשרוניות, F8.2 בשתיים.
קידוד. קובץ SPSS מצהיר על הקידוד שלו (UTF-8 בקבצים מגרסה 16 ואילך; windows-1255 בקבצים עבריים ישנים), והעמוד קורא לפי ההצהרה. אם התווים בתצוגה נראים שבורים – הקובץ מצהיר על קידוד שאינו הקידוד האמיתי שלו (זה קורה בקבצים שעברו בין מחשבים); כתבו לנו, ונוסיף בחירה ידנית.
מה לא עובר. משקלות (WEIGHT) מצוינים באזהרה אבל אינם מופעלים – הנתונים יוצאים לא-משוקללים, כמו ב-SPSS עצמו; קבוצות של תשובות מרובות (Multiple Response Sets), הערות המסמך (DOCUMENT) ומאפייני משתנים מותאמים אינם מיוצאים. הגבולות של אקסל – 1,048,576 שורות ו-16,384 עמודות – חלים על הפלט; קובץ של כמה מאות אלפי תאים מומר בשניות, קובץ של מיליוני תאים ידרוש זיכרון וזמן.
ומה עם הכיוון ההפוך – מאקסל חזרה ל-SPSS? אקסל אינו שומר תוויות, רמות מדידה וחסרים מוגדרים, ולכן קובץ אקסל שנפתח ב-SPSS מגיע "עירום". לשם כך קובץ הסינטקס שבשורת הייצוא כולל, אחרי חלק ההצלבה, את פקודות המילון: GET DATA מקובץ "ערכים ללא תוויות", ואחריו VARIABLE LABELS, VALUE LABELS, MISSING VALUES, FORMATS, VARIABLE LEVEL, רוחב ויישור, ו-SAVE OUTFILE. מי שקיבל רק את קובצי האקסל וקובץ ה-.sps משחזר קובץ SPSS מתויג במלואו. שני סייגים: ערכים חסרים מוגדרים שרוקנו בייצוא חוזרים כחסר-מערכת (ההגדרה המקורית נשמרת בפקודת MISSING VALUES לתיעוד); ותוויות באורך 256 בתים בדיוק – המקסימום של SPSS – נשמרות ב-SPSS, אך PSPP קוטע אותן בבית אחד.
ואיך עושים זאת ב-SPSS?
הערת גרסאות. ההליכים והפקודות שבסעיף זה נבדקו מול SPSS Statistics גרסה 29 – הגרסה שבה נוצר קובץ הדוגמה ושלושת קובצי הייחוס שמולם אומת העמוד. ההליכים עצמם יציבים לאורך הגרסאות; מיקומי תפריט ושמות אפשרויות עשויים להשתנות מעט, ובגרסאות ישנות מ-16 קובץ ה-.sav נשמר בקידוד המערכת (עברית – windows-1255) ולא ב-UTF-8.
שני קובצי הנתונים – File › Save As…, בשדה Save as type בוחרים Excel 2007 through 2010 (*.xlsx). תיבת הסימון Write variable names to spreadsheet נשארת מסומנת (אחרת אין שורת כותרות), ותיבת Save value labels where defined instead of data values קובעת איזה מהשניים יוצא: כבויה – "ערכים ללא תוויות"; דלוקה – "תוויות ללא ערכים". השם של הגיליון בקובץ הוא שם מערך הנתונים ב-SPSS; כאן – "נתונים", כמו בתבנית התקנית, ולצדו גיליון "מקרא" (ש-SPSS אינו מפיק – את המקרא שלו מייצאים בנפרד, בתצוגת הדאטה).
CD 'C:\Rdata'. SAVE TRANSLATE OUTFILE='data_values.xlsx' /TYPE=XLS /VERSION=12 /MAP /REPLACE /FIELDNAMES /CELLS=VALUES. SAVE TRANSLATE OUTFILE='data_labels.xlsx' /TYPE=XLS /VERSION=12 /MAP /REPLACE /FIELDNAMES /CELLS=LABELS.
תצוגת הדאטה – File › Display Data File Information › Working File. בחלון הפלט מתקבלים שני לוחות, Variable Information ו-Variable Values; מייצאים אותם לאקסל ב-File › Export… עם Type: Excel, וכל לוח הופך לגיליון. בסינטקס:
DISPLAY DICTIONARY. OUTPUT EXPORT /CONTENTS EXPORT=VISIBLE /XLSX DOCUMENTFILE='data_dictionary.xlsx' SHEET='משתנים' LOCATION=LASTCOLUMN.
כפתור "הורדת סינטקס SPSS" בשורת הייצוא מוריד קובץ בשני חלקים. חלק א – שלוש הפקודות האלה, עם שם הקובץ שנטען, ובראשן שורת CD 'C:\Rdata'. אחת (מוסכמת האתר – מעדכנים בה את התיקייה שלכם, והנתיב אינו חוזר בשאר הפקודות), כדי להצליב: מה שהעמוד הפיק בדפדפן מול מה ש-SPSS מפיק מאותו קובץ; כך אומת העמוד עצמו, תא-בתא. חלק ב – פקודות המילון: טעינת קובץ "ערכים ללא תוויות" ושחזור התוויות, החסרים, רמות המדידה והפורמטים, ושמירה כ-.sav. הבלוק הזה הוא רכיב תקני של האתר (עיצוב-אב 14): כל עמוד שיודע משהו על המשתנים – מגיליון "מקרא" או מקובץ SPSS – מוסיף אותו לסינטקס שלו.
GET DATA /TYPE=XLSX
/FILE='data – ערכים ללא תוויות.xlsx'
/SHEET=name 'נתונים' /CELLRANGE=FULL /READNAMES=ON.
VARIABLE LABELS
Gender 'סמן/י את מינך:'
Q7 'שכונה קהילתית היא שכונה בה התושבים מעורבים…'.
VALUE LABELS
/Gender
1 'גבר'
2 'אישה'.
MISSING VALUES score (99).
FORMATS Gender (F8) score (F8.2).
VARIABLE LEVEL Gender (NOMINAL).
SAVE OUTFILE='data – משוחזר.sav'.
מקורות
Free Software Foundation. (n.d.). System file format. In GNU PSPP user's guide. https://pspp.benpfaff.org/manual/system-file.html
IBM. (2022). IBM SPSS Statistics 29 command syntax reference. https://www.ibm.com/docs/en/SSLVMB_29.0.0/pdf/IBM_SPSS_Statistics_Command_Syntax_Reference.pdf
התיעוד הפתוח של PSPP הוא המפרט שלפיו נבנה מפענח הקובץ (מבנה הרשומות, דחיסה, מחרוזות ארוכות מאוד); מדריך הסינטקס של IBM – המקור לפקודות SAVE TRANSLATE, DISPLAY ו-OUTPUT EXPORT שבסעיף ה-SPSS. שניהם עותקים דיגיטליים ומצוטטים לפי סעיף.