Sas中如何删除缺失值的行


您可以使用以下基本语法从 SAS 数据集中删除缺失值的行:

 data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

这个特定示例创建了一个名为new_data的新数据集,其中名为my_data的原始数据集中包含缺失值的所有行均已被删除。

以下示例展示了如何在实践中使用此语法。

示例:删除SAS中缺失值的行

假设我们在 SAS 中有以下数据集,其中包含有关各个篮球队的信息:

 /*create dataset*/
data my_data;
    input team $points assists;
    datalines ;
Mavs 113 22
Pacers 95.
Cavs. .
Lakers 114 20
Heat 123 39
Kings. 22
Raptors 105 11
Hawks 95 25
Magic 103 26
Spurs 119.
;
run ;

/*view dataset*/
proc print data =my_data; 

请注意,有几行缺少值。

我们可以使用以下代码创建一个新的数据集,其中我们从现有数据集中删除列中缺少值的所有行:

 /*create new dataset that removes rows with missing values from existing dataset*/
data new_data;
    set my_data;
    if cmiss(of _all_) then delete;
run ;

/*view new dataset*/
proc print data =new_data;

我们可以看到所有缺失值的行都已从数据集中删除。

注意#1CMISS函数中的_all_参数指定 SAS 应在每行的所有列中搜索缺失值。

注意#2 :您可以在此处找到CMISS功能的完整文档。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS中如何删除重复项
SAS中如何统计缺失值
SAS中如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注