Sas:如何将数值变量转换为日期
您可以使用以下基本语法将数值变量转换为 SAS 中的日期变量:
date_var = input ( put (numeric_var, 8 .), MMDDYY10. );
date_var format MMDDYY10. ;
下面的例子展示了如何在实际中使用这个功能。
示例:将数字变量转换为 SAS 中的日期
假设 SAS 中有以下数据集,显示商店在不同日期的总销售额:
/*create dataset*/ data original_data; input day sales; datalines ; 01012022 15 01022022 19 01052022 22 01142022 11 01152022 26 01212022 28 ; run ; /*view dataset*/ proc print data = original_data;
我们可以使用过程的内容来显示数据集中每个变量的数据类型:
/*display data type for each variable*/
proc contents data =original_data;
我们可以看到day和sales都是数值变量。
我们可以使用以下代码创建一个新数据集,将日期变量从数字转换为日期:
/*create new dataset where 'day' is date*/
data new_data;
set original_data;
date_day = input ( put (day, 8. ), MMDDYY10.) ;
date_day format MMDDYY10. ;
drop day;
run ;
/*view new dataset*/
proc print data = new_data;
注意:我们使用drop函数从数据集中删除原始日期变量。
我们可以看到我们创建的新变量date_day是日期格式的。
请注意MMDDYY10。这只是我们可以使用的一种可能的日期格式。您可以在此处找到 SAS 日期格式的完整列表。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: