Ctables宏是spss

时间:2015-06-17 16:14:41

标签: 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.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'

1 个答案:

答案 0 :(得分:3)

由于您对所有变量使用相同的统计信息,因此可以通过分解重复的统计信息来简化ctables代码,例如, / TABLE(var1 + var2 + ...)[ROWPCT.COUNT F40.0] BY ... 现在,如果要执行类似于包含varnn的数据集中的所有变量的操作,可以使用SPSSINC SELECT VARIABLES扩展命令自动执行此操作以生成宏。例如
SPSSINC SELECT VARIABLES MACRONAME ="!myvars"
/ PROPERTIES PATTERN =" var \ d +"
/ OPTIONS SEPARATOR =" +"。
CTABLES / TABLE(!myvars)[....

可以编写一个更复杂的宏来生成!myvars,但是如果你需要施加额外的逻辑,那么使用Python可编程性生成它会更容易。