我正在尝试通过编码学习SAS。目前,我正在尝试对从Excel工作表导入的数据集使用if语句。但是,我面临if语句的问题。我认为这是因为语法错误。我读到的是,if语句可以在数据步骤中使用。
我要实现的是删除一些观测值-如果性别不是女性,则必须删除观测值。
这是我尝试做的事情:
proc import datafile="C:\Users\User\Desktop\test.xlsx"
DBMS=XLSX
out=onlyF;
if Gender != 2 then delete;
run;
变量名是Gender。
我得到的错误是“ if”:Statement is not valid or it is used out of proper order.
答案 0 :(得分:3)
作为SAS中的一般规则,“ if”条件仅在数据驻留在PDV中时才起作用,而“ where”条件甚至在数据移至PDV之前都起作用。与您的情况一样,您正在尝试读取外部文件,因此“如果”将永远无法工作。尝试下面的代码
proc import datafile="C:\Users\User\Desktop\test.xlsx"
DBMS=XLSX
out=onlyF(where=(Gender eq 2));
run;