在SPSS中使用Python只使用循环对某些变量重新编码?
我试图在SPSS中使用Python按行记录观察结果。每一行是一个人对调查的回答。如果参与者中途退出调查,则该点的数据等于(-5)。我需要将所有的-5更改为系统缺失,但我希望保留调查停止之前发生的任何-5 i、 e.如果原始数据如下所示:在SPSS中使用Python只使用循环对某些变量重新编码?,python,spss,survey,Python,Spss,Survey,我试图在SPSS中使用Python按行记录观察结果。每一行是一个人对调查的回答。如果参与者中途退出调查,则该点的数据等于(-5)。我需要将所有的-5更改为系统缺失,但我希望保留调查停止之前发生的任何-5 i、 e.如果原始数据如下所示: [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
[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插件来迭代行并查找索引,但一直遇到问题。非常感谢你 您可以使用普通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.
非常感谢。有没有办法创建一个只包含数值变量的向量?目前,我的数据中没有特定顺序的字符串和数字变量,因此vector命令无法工作。您可以立即使用
ALTER type
将所有变量更改为一致类型。