SPSS使用DO IF命令生成新变量缺失值判断语法报错求助
SPSS 缺失值判断创建新变量解决方案
原语法错误原因
你编写的语法存在两处核心逻辑和语法错误:
(var_2, var_3, var_4, var_5) GE 0不符合SPSS语法规则,无法同时对多个变量做批量条件判断,且该逻辑是判断数值是否大于等于0,和你「判断是否存在缺失」的需求完全不匹配。ANY (var_2, var_3, var_4, var_5) missing用法错误,ANY函数不能用于缺失值判断,SPSS有专门的缺失值统计函数处理这类需求。
正确实现代码
最简写法(推荐,无需复杂分支判断)
SPSS内置的NMISS()函数可以直接统计指定变量列表中的缺失值数量,我们可以基于这个函数快速实现需求:
* 先默认给所有记录赋值为2(代表数据不全) COMPUTE var_1 = 2. * 仅当4个变量全部无缺失时,修改赋值为1 IF NMISS(var_2, var_3, var_4, var_5) = 0 var_1 = 1. EXECUTE.
DO IF 结构写法(如果你更习惯分支逻辑)
DO IF NMISS(var_2, var_3, var_4, var_5) = 0. COMPUTE var_1 = 1. ELSE. COMPUTE var_1 = 2. END IF. EXECUTE.
验证提示
代码运行后可以执行如下语句验证结果是否符合预期:
FREQUENCIES var_1.
你可以交叉核对var_1=1的记录数是否和4个变量同时有有效值的记录数一致。
内容的提问来源于stack exchange,提问作者Eduard Martinez Solsona
相关产品推荐
相关产品推荐

