Loops SPSS通过一组变量与if语句循环
我有53个变量,命名为W1_C14_0到W1_C14_52,每个变量的值从1到15。我需要找出这个列表中每个数字有多少个“咒语”——即每种情况下有多少个1、2等的单独运行。这就是我正在做的,它工作得很好,但是有没有办法把它浓缩成一个循环Loops SPSS通过一组变量与if语句循环,loops,if-statement,vector,spss,Loops,If Statement,Vector,Spss,我有53个变量,命名为W1_C14_0到W1_C14_52,每个变量的值从1到15。我需要找出这个列表中每个数字有多少个“咒语”——即每种情况下有多少个1、2等的单独运行。这就是我正在做的,它工作得很好,但是有没有办法把它浓缩成一个循环 DO REPEAT first = W1_C14_0 to W1_C14_51 / second = W1_C14_1 to W1_C14_52 . DO IF (SYSMIS(first) OR first<>second) .
DO REPEAT first = W1_C14_0 to W1_C14_51 /
second = W1_C14_1 to W1_C14_52 .
DO IF (SYSMIS(first) OR first<>second) .
DO IF (second=1) .
COMPUTE W1_spells1 = W1_spells1 + 1 .
ELSE IF (second=2) .
COMPUTE W1_spells2 = W1_spells2 + 1 .
ELSE IF (second=3) .
COMPUTE W1_spells3 = W1_spells3 + 1 .
*and so on down to...
ELSE IF (second=15) .
COMPUTE W1_spells15 = W1_spells15 + 1 .
END IF.
END IF.
END REPEAT .
DO REPEAT first=W1_C14_0至W1_C14_51/
秒=W1_C14_1至W1_C14_52。
执行IF(SYSMIS(第一个)或firstsecond)。
如果(秒=1)则执行。
计算W1_拼写1=W1_拼写1+1。
ELSE IF(秒=2)。
计算W1_拼写2=W1_拼写2+1。
否则,如果(秒=3)。
计算W1_拼写3=W1_拼写3+1。
*等等,一直到。。。
否则,如果(秒=15)。
计算W1_拼写15=W1_拼写15+1。
结束如果。
结束如果。
结束重复。
您可以使用VECTOR
命令循环拼写变量
VECTOR W1_spells = W1_spells1 TO W1_spells15.
DO REPEAT first = W1_C14_0 to W1_C14_51 /
second = W1_C14_1 to W1_C14_52 .
DO IF (SYSMIS(first) OR first<>second).
LOOP #i=1 TO 15.
DO IF (second=#i) .
COMPUTE W1_spells(#i) = W1_spells(#i) + 1.
END IF.
END LOOP.
END IF.
END REPEAT.
矢量W1_拼写=W1_拼写1到W1_拼写15。
先重复=W1_C14_0到W1_C14_51/
秒=W1_C14_1至W1_C14_52。
执行IF(SYSMIS(第一个)或firstsecond)。
循环#i=1到15。
如果做(第二个=#i)。
计算W1#U咒语(#i)=W1#U咒语(#i)+1。
结束如果。
结束循环。
结束如果。
结束重复。
您需要更具体地说明什么是跑步,以及您希望最终获得的数据。如果您有一套11112222
,结果会是什么?那么12121212
或者11221122
或者1112223
等等呢。?您可能会从中找到一些动机,或者我可能会考虑使用<代码> VARSTORACE < /COD>以及使用<代码>滞后> /代码>函数。