📜  SAS 编程中的 IS MISSING 和 IS NOT MISSING 运算符(1)

📅  最后修改于: 2023-12-03 14:47:13.530000             🧑  作者: Mango

SAS 编程中的 IS MISSING 和 IS NOT MISSING 运算符

在 SAS 编程中,经常会涉及到缺失值(Missing Value)的处理。通常情况下,缺失值是指变量中缺少了实际存在的值,而没有被某个特殊值代替。常见的空值、0、字符、逻辑0 或者 NA 等特殊值都不能用来代表缺失值,因为它们可能本身就是变量可能存在的值之一。因此,SAS 提供了 IS MISSING 和 IS NOT MISSING 这两个运算符来方便程序员判断一个值是否为缺失值。

IS MISSING

IS MISSING 运算符用于判断一个值是否为缺失值。当判断为缺失值时,返回 TRUE;当判断不为缺失值时,返回 FALSE。

/* 语法结构 */
variable IS MISSING;

/* 示例 */
data test;
   input x y z;
   datalines;
   1 . 3
   4 5 .
   . . .
   3 2 1
   . 5 .
   2 . 2
   . 1 .
   ;
run;

data result;
   set test;
   if x is missing then x_new = 0; /* 如果 x 为缺失值,则将 x_new 赋值为 0 */
   if y is missing then y_new = 0; /* 如果 y 为缺失值,则将 y_new 赋值为 0 */
   if z is missing then z_new = 0; /* 如果 z 为缺失值,则将 z_new 赋值为 0 */
run;
IS NOT MISSING

IS NOT MISSING 运算符用于判断一个值是否不为缺失值。当判断不为缺失值时,返回 TRUE;当判断为缺失值时,返回 FALSE。

/* 语法结构 */
variable IS NOT MISSING;

/* 示例 */
data test;
   input x y z;
   datalines;
   1 . 3
   4 5 .
   . . .
   3 2 1
   . 5 .
   2 . 2
   . 1 .
   ;
run;

data result;
   set test;
   if x is not missing then x_new = x; /* 如果 x 不为缺失值,则将 x_new 赋值为 x */
   if y is not missing then y_new = y; /* 如果 y 不为缺失值,则将 y_new 赋值为 y */
   if z is not missing then z_new = z; /* 如果 z 不为缺失值,则将 z_new 赋值为 z */
run;

通过使用上述示例,任何查询 SAS 数据库的程序员都可以轻松的判断一个值是否为缺失值,进而方便的进行缺失值处理。