如何删除SAS中的某些观察结果?

时间:2018-08-23 00:22:19

标签: if-statement sas

我正在尝试通过编码学习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.

1 个答案:

答案 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;