chu*_*son 5 statistics loops spss
是否有一种"本地"SPSS方式来循环访问某些变量名称?我想做的就是获取变量列表(我定义)并为它们运行相同的过程:
伪代码 - 不是一个很好的例子,但是得到了重点......
for i in varlist['a','b','c']
do
FREQUENCIES VARIABLES=varlist[i] / ORDER=ANALYSIS.
end
Run Code Online (Sandbox Code Playgroud)
我注意到人们似乎只是使用R或Python SPSS插件来实现这个基本的阵列功能,但我不知道我能在多长时间内完成SPSS安装的配置(如果有的话).
SPSS必须有一些原生的方式来做到这一点......对吗?
循环变量有两种简单的解决方案(与在SPSS中使用Python相比更容易).
1) DO REPEAT-END REPEAT
缺点是您可以DO REPEAT-END REPEAT主要仅用于数据转换 - 例如COMPUTE,RECODE等等.不允许频率.例如:
DO REPEAT R=REGION1 TO REGION5.
COMPUTE R=0.
END REPEAT.
Run Code Online (Sandbox Code Playgroud)
2)DEFINE-!ENDDEFINE(宏观设施)
您可以使用宏命令在变量循环中执行频率.例如:
DEFINE macdef (!POS !CHAREND('/'))
!DO !i !IN (!1)
frequencies variables = !i.
!DOEND
!ENDDEFINE.
macdef VAR1 VAR2 VAR3 /.
Run Code Online (Sandbox Code Playgroud)
小智 6
如果我正确理解了这个问题,则可能不需要使用循环结构.使用VARIABLES子命令(如FREQUENCIES)的SPSS命令允许您指定多个变量.
FREQUENCIES的基本语法是:
FREQUENCIES
VARIABLES= varlist [varlist...]
Run Code Online (Sandbox Code Playgroud)
其中[varlist]是单个变量名称,多个以空格分隔的变量名称,使用TO关键字指定的一系列连续变量,关键字ALL或先前选项的组合.
例如:
FREQUENCIES VARIABLES=VARA
FREQUENCIES VARIABLES=VARA VARB VARC
FREQUENCIES VARIABLES=VARA TO VARC
FREQ VAR=ALL
FREQ VAR=VARA TO VARC VARM VARX TO VARZ
Run Code Online (Sandbox Code Playgroud)
请参阅http://support.spss.com/ProductsExt/SPSS/Documentation/SPSSforWindows/index.htm上的SPSS Statistics 17.0命令语法参考.
请注意,自从我实际使用SPSS以来已经有好几年了.