如何删除 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;
请注意,所有前导零均已从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;
如果我们使用use proccontents来显示数据集中每个变量的数据类型,我们将看到no_zeros是一个字符变量:
/*view data type of each variable in new dataset*/
proc contents data =new_data;
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: