SPSS语法求助:由三个变量生成新变量的代码报错问题
问题排查与修正方案
你的SPSS代码报错主要是因为以下3个语法问题:
- DO IF 条件语句末尾缺少点号(.),SPSS要求流程控制语句的条件结尾必须用点号分隔
- 错误使用了
IF ELSE,DO IF结构的分支应该用ELSE而非IF ELSE - 每条COMPUTE语句末尾缺少分号(;),SPSS语法要求执行语句必须以分号结尾
修正后的正确代码如下:
DO IF (Var1 = 1 AND Var2 = 1 AND Var3 = 1). COMPUTE ADL_independence_before_stroke = 1. ELSE. COMPUTE ADL_independence_before_stroke = 2. END IF. EXECUTE.
另外,也可以用更简洁的写法实现同样逻辑:
* 方法二:用IF语句直接赋值. IF (Var1 = 1 AND Var2 = 1 AND Var3 = 1) ADL_independence_before_stroke = 1. IF NOT(Var1 = 1 AND Var2 = 1 AND Var3 = 1) ADL_independence_before_stroke = 2. EXECUTE. * 方法三:用RECODE语句. RECODE (Var1,Var2,Var3) (1,1,1=1) (ELSE=2) INTO ADL_independence_before_stroke. EXECUTE.
内容的提问来源于stack exchange,提问作者TotorosForest
相关产品推荐
相关产品推荐

