Трехсторонние КРОСТАБЫ в SPSS - PullRequest
1 голос
/ 10 сентября 2009

У меня есть некоторые данные в SPSS, которые я хотел бы отформатировать определенным образом, но я не могу найти способ сделать это в документации.

У меня есть данные, которые состоят из 10 ответов на вопросы с Q1 по Q10, с Q1 по Q10 для каждого значения переменной SPEAKER в переменной SESSION. Например, в каждом сеансе может быть до пяти ораторов, поскольку для сеанса 1 у меня могут быть данные в Q1-Q10 для ораторов 1 и 2, но ничего для остальных. Необработанные данные выглядят примерно так:

001A0123012301B0123012301C         D         E         

Итак, это сеанс 001 с ораторами от A до E, где A и B имеют данные (от Q1 до Q10, по одному столбцу каждый), а остальные нет. Обратите внимание, что на Q1-Q10 возможны только четыре ответа, и ниже я обозначу эти R1, R2, R3 и R4. Надеюсь, это более подробно, чем вам нужно.

Я хочу создать одну таблицу для каждой сессии, которая выглядит примерно так:

Session 001
  Question | Speaker 1 | Speaker 2 | Speaker 3 | Speaker 4 | Speaker 5
       R1       10           15          0           0            0
   Q1  R2        9            4          0           0            0
       R3        0            1          0           0            0
       R4        2            0          0           0            0 
  ---------------------------------------------------------------------
       R1      ...
   Q2  R2      ...
       R3      ...
       R4      ...

Документация, кажется, предполагает, что

CROSSTABS Q1 TO Q10 BY SPEAKER BY SESSION

будет делать то, что я хочу, но это не так. Любые идеи о том, как я могу получить желаемый результат?

ETA : Для всех, кто мог бы помочь, вот фактический синтаксис, который я использовал, с некоторыми изменениями, чтобы удалить идентифицирующую информацию нашего клиента.

set printback=no.
set width = 80 / highres = off.
TITLE 'Speaker Evaluations'.

INPUT PROGRAM.
FILE HANDLE IN  /NAME='C:\Documents and Settings\gworley\Desktop\Surveys\hrfse\hrfse.sdf' .
DATA LIST FILE=IN FIXED RECORDS=1 /1 BATCH 1-3.
REPEATING DATA STARTS=4 / OCCURS=5
  /DATA= SPEAKER 1 (A) Q1 TO Q10 2-11.
END INPUT PROGRAM.

VARIABLE LABLES
 SPEAKER "Speaker" /
 Q1 "Speaker's knowledge of the subject" /
 Q2 "Speaker's effectiveness in communicating information"/
 Q3 'The usefulness of the information presented'/
 Q4 "Speaker's response to audience questions"/
 Q5 'The pace of this course or panel'/
 Q6 'Clarity and organization'/
 Q7 'Focus on up-to-date issues'/
 Q8 'Overall session rating'/
 Q9 "Would you recommend this speaker for next year's conference"/
 Q10 'Did this speaker try to sell their services'/.


Missing values Q1 to Q8 (4 thru high)/
           Q9 to Q10 (2 thru high).

VALUE LABELS
 SPEAKER 'A' 'Speaker 1' 'B' 'Speaker 2' 'C' 'Speaker 3' 'D' 'Speaker 4' 'E' 'Speaker 5' /
 Q1 to Q8 0 'Poor' 1 'Fair' 2 'Good' 3 'Excellent' /
 Q9 to Q10 0 'No' 1 'Yes'.

FREQUENCIES VARIABLES=Q1 to Q10 / STATISTICS=ALL.
CROSSTABS 
  /TABLES=Q1 to Q10 BY SPEAKER BY BATCH
  /CELLS= COUNT COLUMN  .

1 Ответ

2 голосов
/ 17 сентября 2009

сначала я думаю, что ваши необработанные данные не очень хорошо читаются SPSS. Чтобы прочитать его, я добавил сессию № перед каждым оратором.

Я попробовал следующий файл синтаксиса:

// "3wayCrosstab.txt" = 001A0213210231001B2102320232001C2132021203001D1122330010001E0232120121
FILE HANDLE W3
   /NAME="3wayCrosstab.txt"
   /MODE=IMAGE
   /LRECL=14.

DATA LIST FILE=W3 
   /SESSION 1-3 (A) SPEAKER 4 (A) Q1 5 Q2 6 Q3 7 Q4 8 Q5 9 Q6 10 Q7 11 Q8 12 Q9 13 Q10 14

VALUE LABELS Q1 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q2 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q3 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q4 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q5 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q6 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q7 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q8 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q9 0 "R1" 1 "R2" 2 "R3" 3 "R4"
VALUE LABELS Q10 0 "R1" 1 "R2" 2 "R3" 3 "R4"

VALUE LABELS /SPEAKER "A" "Speaker1" "B" "Speaker2" "C" "Speaker3" "D" "Speaker4" "E" "Speaker5"

CROSSTABS /TABLE=Q1 TO Q10 BY SPEAKER BY SESSION.

Я получил это:

    2.2(2) CROSSTABS.  Q1 by SPEAKER by SESSION [count].
    #=======================#============================================#========#
    #    SESSION            #                   SPEAKER                  |        #
    #                       #--------+--------+--------+--------+--------+        #
    #                     Q1#Speaker1|Speaker2|Speaker3|Speaker4|Speaker5|  Total #
    #-----------------------#--------+--------+--------+--------+--------+--------#
    #        001 R1         #     1.0|      .0|      .0|      .0|     1.0|     2.0#
    #            R2         #      .0|      .0|      .0|     1.0|      .0|     1.0#
    #            R3         #      .0|     1.0|     1.0|      .0|      .0|     2.0#
    #            Total      #     1.0|     1.0|     1.0|     1.0|     1.0|     5.0#
    #=======================#========#========#========#========#========#========#

    2.3 CROSSTABS.  Q2 by SPEAKER by SESSION [count].
    #=======================#============================================#========#
    #    SESSION            #                   SPEAKER                  |        #
    #                       #--------+--------+--------+--------+--------+        #
    #                     Q2#Speaker1|Speaker2|Speaker3|Speaker4|Speaker5|  Total #
    #-----------------------#--------+--------+--------+--------+--------+--------#
    #        001 R2         #      .0|     1.0|     1.0|     1.0|      .0|     3.0#
    #            R3         #     1.0|      .0|      .0|      .0|     1.0|     2.0#
    #            Total      #     1.0|     1.0|     1.0|     1.0|     1.0|     5.0#
    #=======================#========#========#========#========#========#========#
...
...