SAS - "变量"与"不丢失(变量)"

Lor*_*sum 2 sas

在尝试使我的代码更具可读性时,我面临以下情况.

考虑一个数据步骤,您只想在其中选择具有值的观测值variable.使用WHERE语句似乎有两种方法:单独表达变量或使用MISSING函数.

例如,

案例1. VARIABLE

data where_var;
  set sashelp.electric;
  where AllPower;
run;
Run Code Online (Sandbox Code Playgroud)

案例2.不丢失的地方(VARIABLE)

data where_not_missing;
  set sashelp.electric;
  where not missing(AllPower);
run;
Run Code Online (Sandbox Code Playgroud)

这些产生了相同的结果.但是,我不确定是否一定如此.

  • 这些在功能上是否相同?
  • 案例1仅仅是案例2的语法糖吗?
  • 是否存在会产生不同结果的情况?

小智 5

在SAS中,除0或缺失之外的任何数值都为真.有关详细信息,请参阅https://support.sas.com/documentation/cdl/en/lrcon/62955/HTML/default/viewer.htm#a000780367.htm.

这意味着您的案例1和案例2不是100%等效.如果AllPower = 0,结果将不同.