Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SPSS中使用Python只使用循环对某些变量重新编码?_Python_Spss_Survey - Fatal编程技术网

在SPSS中使用Python只使用循环对某些变量重新编码?

在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

我试图在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 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
将所有变量更改为一致类型。