如何删除 sas 中的前导零(附示例)


在 SAS 中删除字符变量中的前导零的最简单方法是使用INPUT函数将变量转换为数值变量,这会自动删除前导零。

该函数使用以下基本语法:

 data new_data;
    set original_data;
    no_zeros = input(some_column, comma9. );
run ;

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

示例:删除 SAS 中的前导零

假设我们在 SAS 中有以下数据集,显示各个零售商店的总销售额:

 /*create dataset*/
data original_data;
    inputstore $sales$;
    datalines ;
A 055
B145
C 199
D 0000443
E 0093
F 00004302
G 38
H 0055
;
run ;

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

我们可以使用以下代码从sales列值中删除所有前导零:

 /*remove leading zeros in sales column*/
data new_data;
    set original_data;
    no_zeros = input (sales, order9. );
run ;

/*view results*/
proc print data = new_data; 

SAS 删除前导零

请注意,所有前导零均已从no_zeros列中的值中删除。

请注意,新的no_zeros列是数字列。

如果您想将其保留为一列字符,则可以将PUT函数包装在INPUT函数周围,如下所示:

 /*remove leading zeros in sales column*/
data new_data;
    set original_data;
    no_zeros = put ( input (sales, order9. ), 8. );
run ;

/*view results*/
proc print data = new_data; 

SAS 删除前导零

如果我们使用use proccontents来显示数据集中每个变量的数据类型,我们将看到no_zeros是一个字符变量:

 /*view data type of each variable in new dataset*/
proc contents data =new_data; 

其他资源

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

如何标准化 SAS 中的数据
如何识别 SAS 中的异常值
如何在SAS中使用过程摘要
如何在SAS中创建频率表

添加评论

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