我在SPSS中使用自定义表函数来构建表。现在,我得到了理想的表格配置,语法如下:
DATASET ACTIVATE DatenSet2.
* Benutzerdefinierte Tabellen.
CTABLES
/FORMAT EMPTY=ZERO MISSING='.' MINCOLWIDTH=1.27 MAXCOLWIDTH=2.54 UNITS=CM
/SMISSING VARIABLE
/VLABELS VARIABLES=Q3 DISPLAY=NONE /VLABELS VARIABLES=gruppebreak regbreak sexbreak alterbreak
bildbreak erwerbbreak DISPLAY=LABEL
/TABLE Q3 [C][COUNT F40.0, COLPCT.COUNT PCT40.1] BY Q3 [C] + gruppebreak [C] + regbreak [C] +
sexbreak [C] + alterbreak [C] + bildbreak [C] + erwerbbreak [C]
/SLABELS POSITION=ROW VISIBLE=NO
/CATEGORIES VARIABLES=Q3 [1, 2] EMPTY=EXCLUDE TOTAL=YES LABEL='Total' POSITION=AFTER
/CATEGORIES VARIABLES=gruppebreak regbreak sexbreak alterbreak bildbreak erwerbbreak ORDER=A
KEY=VALUE EMPTY=INCLUDE
/TITLES
TITLE=')TABLE'.
在这种语法中,Q3
是我根据6个不同标准分析的变量。这六个人一直保持不变。我的问题是我有300个变量,如Q3
,我想为所有变量生成表格。我想问一下是否有可能构建一个“循环”,它只会将Q3
替换为数据集中的其他变量,直到所有变量都被分析出来?
提前谢谢你......
答案 0 :(得分:1)
我不确定您将如何处理所有输出,但您可以自动生成它。
最简单的是,您可以为CTABLES语法定义一个宏,该语法只接受一个参数,变量名称,并提供所有其他参数。
这仍然让你完成300次调用宏的任务。
如果您已通过SPSS社区网站(www.ibm.com/developerworks/spssdevcentral)安装了Python Essentials for Statistics,则可以将您的语法嵌入到一个小的Python程序中,该程序会迭代所有感兴趣的变量。
答案 1 :(得分:1)
在这里,我将循环定义为' LOOP1'。您可以对前两行使用这种确切的语法,它只是样板文件。接下来,我把我想要生成的表格。在任何地方你都能看到一个'!i'循环中的当前变量将放在那里。 '!DOEND。'和'!ENDDEFINE。'也是样板,你可以留下它们。到目前为止,只需将我的桌子更换为我的桌子,并将Q3替换为!i。它会出现在桌面上的任何位置。我写LOOP1 Q1 Q2的最后一部分是我现在称之为循环的地方。在这里你可以放置你想要循环的300个变量。您必须使用正斜杠(/)和句点跟随变量列表。
DEFINE LOOP1(!POS !CHAREND('/')).
!DO !i !IN (!1).
CTABLES
/VLABELS VARIABLES = !i age_groups_1 DISPLAY=BOTH
/TABLE !i [C] BY age_groups_1 [C][COLPCT.COUNT PCT40.1, COLPCT.COUNT.LCL PCT40.1,
COLPCT.COUNT.UCL PCT40.1, UCOUNT F40.0]
/SLABELS POSITION=ROW
/CATEGORIES VARIABLES=!i [1, 2] EMPTY=EXCLUDE TOTAL=YES POSITION=AFTER
/CATEGORIES VARIABLES=age_groups_1 ORDER=A KEY=VALUE EMPTY=INCLUDE
/CRITERIA CILEVEL=95.
!DOEND.
!ENDDEFINE.
LOOP1 Q1 Q2 Q3 Q4 Q5A Q5B Q5C Q5D Q5E Q6 Q6_dummy Q6_recode Q7_01 Q7_02 Q7_03 Q7_04 Q7_05 Q7_06 Q7_07
Q7_08 Q7_09 Q7_10 Q7_11 Q7_12 Q7_13 Q8A Q8B Q8C Q9 Q10 Q11_1 Q11_2 Q11_3 Q11_4 Q11_5 Q12 Q13_1
Q13_2 Q13_3 Q13_4 Q13_5 Q13_6 Q13_7 Q14 Q15A Q15B Q15C Q15D Q15E Q15F Q15G Q15H Q16A Q16B Q16C Q16D
Q16E Q16F Q16G Q17 Q18 Q19 Q20_1 Q20_2 Q20_3 Q20_4 Q20_5 Q20_6 Q21A Q21B Q21C Q21D Q21E Q21F
Q22_C01 Q22_C02 Q22_C03 /.