Macros Ctables宏是spss
我有一个包含100个变量的表(我在这里仅复制了8个变量作为示例),我想将其转换为一个宏,在该宏中,我只能插入第一个变量编号(1)和最后一个变量编号(100),并运行该表,其中只有一行或两行(而不是100行)。 有人知道怎么做吗Macros Ctables宏是spss,macros,spss,Macros,Spss,我有一个包含100个变量的表(我在这里仅复制了8个变量作为示例),我想将其转换为一个宏,在该宏中,我只能插入第一个变量编号(1)和最后一个变量编号(100),并运行该表,其中只有一行或两行(而不是100行)。 有人知道怎么做吗 CTABLES /VLABELS VARIABLES=Loop1_a_01 var1 DISPLAY=DEFAULT /TABLE var1 [C][ROWPCT.COUNT F40.0] + var2 [C][ROWPCT.COUNT F40.
CTABLES
/VLABELS VARIABLES=Loop1_a_01 var1 DISPLAY=DEFAULT
/TABLE var1 [C][ROWPCT.COUNT F40.0] +
var2 [C][ROWPCT.COUNT F40.0] +
var3 [C][ROWPCT.COUNT F40.0] +
var4 [C][ROWPCT.COUNT F40.0] +
var5 [C][ROWPCT.COUNT F40.0] +
var6 [C][ROWPCT.COUNT F40.0] +
var7 [C][ROWPCT.COUNT F40.0] +
var8 [C][ROWPCT.COUNT F40.0] BY Loop1_a_01
/CATEGORIES VARIABLES=Loop1_a_01 EMPTY=INCLUDE
/CATEGORIES VARIABLES=var5 ORDER=A KEY=VALUE
EMPTY=INCLUDE
/TITLES TITLE= 'TV'
.由于您对所有变量使用相同的统计信息,您可以通过分解重复的统计信息来简化ctables代码,例如。, /表(var1+var2+…)[ROWPCT.COUNT F40.0]按。。。 现在,如果您想在名称类似于varnn的数据集中包含所有变量,可以使用SPSSINC SELECT variables扩展命令生成宏,从而实现自动化。例如
SPSSINC选择变量宏名称=“!myvars”
/属性PATTERN=“var\d+“
/选项分隔符=“+”
克塔布尔 /表(!myvars)[
可以编写一个更复杂的宏来生成!myvars,但是如果您需要附加逻辑,那么使用Python可编程性生成宏会容易得多。谢谢您的回答,但我在这里找到了解决方案: