📜  SAS |删除空行

📅  最后修改于: 2022-05-13 01:55:28.749000             🧑  作者: Mango

SAS |删除空行

通常,当我们从外部源(例如 Excel/CSV 文件)导入数据时,它会加载完全空白的额外行。有时数据库中的空值也会影响所需的输出,因此有必要检查缺失的案例并相应地执行操作

例子:
输入:示例数据集如下所示,有四个变量——1 个字符和 3 个数字。它将在示例中进一步用于演示如何删除空行。

NamePhysChemMaths
Shubhash706866
Samar5585
Ashutosh547889
Varun509685
Pratiksha6893

创建 SAS 数据集
下面定义的代码是执行删除空操作的示例数据集。

data outdata;
LENGTH name $12.;
input name $ phys chem maths ;
infile datalines missover;
datalines;Shubhash 70 68 66
    samar 55 . 85 
    ashutosh 54 78 89 
    varun 50 96 85 
    pratiksha . 68 93 
;run;

输出:

  • 方法 I:删除所有具有空白/缺失值的变量的完整行
    OPTIONS missing = ' ';
    data readin;
        SET outdata;
        IF missing(cats(of _all_)) 
        THEN 
          DELETE;
    run;
    

    笔记:

    • MISSING=系统选项用于将缺失值显示为单个空格,而不是默认句点 (.)选项 missing = ' ';
    • CATS函数连接这些值。它还删除了前导和尾随空格。 cat(of _all_) – 连接所有变量
    • missing(cats(of _all_)) – 识别所有变量中存在缺失值的所有行。

    输出:

  • 方法 II:仅删除任何变量具有缺失/空白值的行
    data readin;
        SET outdata; 
        IF cmiss(of _character_) 
        OR nmiss(of _numeric_) > 0
         THEN 
          DELETE;
    run;
    

    在这种情况下,我们使用 OR运算符来检查是否有任何变量有缺失值。它返回 4 个观察值。查看下面的输出 -