我试图在SPSS中使用Python来按行重新编码观察。每一行都是一个人对调查的回应。如果参与者中途退出调查,则该点的数据等于(-5)。我需要将所有-5&#更改为系统缺失,但我想保留在调查丢失之前发生的任何-5&s。
即。如果原始数据看起来像这样:
[1 2 4 -5 6 7 1 -5 -5 -5 -5 ]
[ 2 3 4 5 -5 1 -6 -5 -4 -5 -5 ]
[ 4 5 -5 -5 -5 -5 -5 -5 -5 -5 ]
它将改为:
[1 2 4 -5 6 7 1 . . . . ]
[2 3 4 5 -5 1 -6 -5 -4 . . ]
[4 5 . . . . . . . . ]
每一行都是不同的人对所有问题的回答。
有谁知道我怎么做这个?我曾尝试在SPSS中使用python插件来遍历行并查找索引,但我一直遇到问题。非常感谢你!!
答案 0 :(得分:1)
你可以用带循环的vanilla SPSS语法做到这一点。下面是一个示例方法。
*Making fake example data.
DATA LIST FREE /X1 TO X11 (11F1.0).
BEGIN DATA
1 2 4 -5 6 7 1 -5 -5 -5 -5
2 3 4 5 -5 1 -6 -5 -4 -5 -5
4 5 -5 -5 -5 -5 -5 -5 -5 -5 -5
-5 -5 -5 -5 -5 -5 -5 -5 -5 -5 -5
END DATA.
*Using vector and loop to recode ends to system missing.
VECTOR X = X1 TO X11.
LOOP #i = 11 TO 1 BY -1.
IF X(#i) = -5 X(#i) = $SYSMIS.
END LOOP IF NOT MISSING(X(#i)).
EXECUTE.