如果循环SPSS,则计算

问题描述 投票:1回答:1

最终,我想将分数从0更改为1,将分数更改为1至2,将分数更改为2至3。我想一种方法是使用+1,但是我知道如果然后系列。

这是我到目前为止所做的:我使用SPSS语法使用现有变量(x)创建新变量(y = x + 1)。我只想对值> = 0的变量执行此操作(这是我排除具有丢失数据的单元格的方法; x的范围是0-2)。

我可以创建x + 1,但是它会覆盖现有变量。

DO REPEAT x =var_1 TO var_86.
if (x>=0) x=(x+1).
end repeat.
exe.

我尝试了此修改,但不起作用:

DO REPEAT x = var_1 TO var_86 / y = var_1a TO var_86a.
IF  (x >= 0) y=x +1.
END REPEAT.
EXE.

错误消息是:

DO REPEAT VARX TO VARY形式表示变量的范围 使用不正确。使用VARX TO VARY创建新文件时 变量,X必须是小于或等于整数Y的整数。 (不能使用A3 TO A1。)

我尝试了许多其他配置,包括向量和循环,但还没有弄清楚如何在不覆盖现有变量的情况下跨变量范围进行此计算。预先感谢您的任何建议。

loops repeat spss
1个回答
0
投票

您收到的消息是因为SPSS无法理解var_1a TO var_86a格式。为了使x to y表格起作用,数字必须在名称的末尾,因此例如varA_1 to varA_86应该起作用。在执行此操作时,这是执行任务的一种简单方法:

recode var_1 TO var_86 (0=1)(1=2)(2=3) into varA_1 TO varA_86.
© www.soinside.com 2019 - 2024. All rights reserved.