Statistics SPSS中的三向交叉表

Statistics SPSS中的三向交叉表,statistics,crosstab,spss,Statistics,Crosstab,Spss,我在SPSS中有一些数据,我想以特定的方式格式化,但我似乎无法在文档中找到这样做的方法 我的数据包括10个问题回答,Q1到Q10,在一个可变会话中,每个可变演讲者的值对应一个Q1到Q10。例如,每个会话最多可以有五位发言者,对于会话1,我可能在Q1到Q10中有发言者1和2的数据,但其他人没有数据。原始数据如下所示: 001A0123012301B0123012301C D E Session 001 Question | Speaker 1 | Speaker

我在SPSS中有一些数据,我想以特定的方式格式化,但我似乎无法在文档中找到这样做的方法

我的数据包括10个问题回答,Q1到Q10,在一个可变会话中,每个可变演讲者的值对应一个Q1到Q10。例如,每个会话最多可以有五位发言者,对于会话1,我可能在Q1到Q10中有发言者1和2的数据,但其他人没有数据。原始数据如下所示:

001A0123012301B0123012301C D E 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 ... 001A0123012301B012013012301C D E 这是第001课时,发言者A到E,其中A和B有数据(Q1到Q10,各一列),其余的没有。请注意,在Q1到Q10上只能有四个响应,下面我将标记这些R1、R2、R3和R4。希望这比你需要的更详细

我希望每个会话生成一个表,如下所示:

001A0123012301B0123012301C D E 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 ... 第001次会议 问题|议长1 |议长2 |议长3 |议长4 |议长5 R1101500 第一季R2 9400 R30 1 0 0 0 0 R42000 --------------------------------------------------------------------- R1。。。 第二季度R2。。。 R3。。。 R4。。。 文件似乎表明

CROSSTABS Q1 TO Q10 BY SPEAKER BY SESSION 按发言者和会话交叉表Q1至Q10 我想做什么就做什么,但事实并非如此。有没有关于如何达到预期效果的想法

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 . 设置打印回=否。 设置宽度=80/高分辨率=关闭。 标题“演讲者评价”。 输入程序。 文件句柄位于/NAME='C:\Documents and Settings\gworley\Desktop\Surveys\hrfse\hrfse.sdf'中。 数据列表文件=固定记录中=1/1批次1-3。 重复数据开始=4/发生=5 /数据=扬声器1(A)Q1至Q10 2-11。 结束输入程序。 可变标签 扬声器“扬声器”/ Q1“演讲者对主题的知识”/ Q2“演讲者在信息交流中的有效性”/ 问题3“所提供信息的有用性”/ Q4“演讲者对听众问题的回应”/ 问题5“本课程或小组的进度”/ 问题6“清晰性和组织性”/ 问题7“关注最新问题”/ Q8“整体会议评级”/ 问题9“你会推荐这位演讲者参加明年的会议吗?”/ 问题10‘这位演讲者是否试图推销他们的服务’/。 缺失值Q1至Q8(4至高)/ Q9至Q10(2至高)。 值标签 扬声器“A”“扬声器1”“B”“扬声器2”“C”“扬声器3”“D”“扬声器4”“E”“扬声器5”/ 第一季度至第八季度0“差”1“一般”2“好”3“优秀”/ 问题9至问题10“否”1“是”。 频率变量=Q1到Q10/统计数据=全部。 交叉表 /表=Q1至Q10(按扬声器按批次) /单元格=计数列。
首先,我认为您的原始数据结构不好,无法通过SPSS读取。为了阅读,我在每个发言者前面增加了第n个会话

我尝试了以下语法文件:

// "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#
    #=======================#========#========#========#========#========#========#
...

很好的尝试。我重新格式化了数据,使之符合您想要的格式,并运行了代码。不幸的是,我仍然每个问题有一个表,每个会话都在表中分解,正如上面所示。我记得在某个地方读到过这样的东西可能需要一个宏。听起来对吗?