2009-09-10 2 views
1

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

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

 
001ABC   D   E   

Так вот сессия 001 с громкоговорителями А через Е, где А и В имеют данные (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 . 

ответ

2

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

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

// "3wayCrosstab.txt" = 001A231001B2102320232001C2132021203001D1122330010001E0232120121 
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# 
    #=======================#========#========#========#========#========#========# 
... 
+0

Хорошая попытка. Я переформатировал свои данные в соответствии с желаемым форматом и запустил ваш код. К сожалению, я по-прежнему получаю одну таблицу за вопрос, каждая сессия разбивается внутри таблицы, как показано выше. –

+0

Я помню, где-то читал, что такого рода вещи могут потребовать MACRO. Правильно ли это звучит? –

Смежные вопросы