SAS缺失值处理代码问题咨询:这段代码存在哪些错误?
SAS代码错误分析
你的代码存在两处关键语法错误,具体如下:
- IF-THEN语句格式错误:SAS中IF-THEN语句不需要用括号包裹,且条件与THEN之间不能加逗号。你写成
weight2=(IF weight=999,THEN weight2=.)的形式完全不符合SAS语法规范。 - 赋值逻辑错误:不需要把整个IF-THEN结构作为
weight2的赋值右值,正确逻辑是通过IF-THEN/ELSE分支直接对weight2赋值。
修正后的代码示例:
Data antibiotics; set antibiotics; if weight=999 then weight2=.; else weight2 = weight; run;
也可以用更简洁的条件赋值函数IFN实现:
Data antibiotics; set antibiotics; weight2 = ifn(weight=999, ., weight); run;
内容的提问来源于stack exchange,提问作者Okari Justine
相关产品推荐
相关产品推荐

