如何在 SAS 中为每个观察创建一个这样的日期列,其中包含每月的第一天?
2007 年 1 月 1 日
02/01/2007
...
2012 年 10 月 1 日
2012 年 11 月 1 日
我应该使用某种do-loop吗?谢谢!
如何在 SAS 中为每个观察创建一个这样的日期列,其中包含每月的第一天?
2007 年 1 月 1 日
02/01/2007
...
2012 年 10 月 1 日
2012 年 11 月 1 日
我应该使用某种do-loop吗?谢谢!
是的,循环很容易。这是许多可能的解决方案之一:
data want;
format first_of_month yymmdd10.;
first_of_month = mdy(1,1,2007);
do until (first_of_month > mdy(11,1,2012));
output;
first_of_month = intnx('month',first_of_month,1);
end;
run;
这会生成您询问的数据范围(从 2007 年 1 月 1 日到 2012 年 11 月 1 日的一系列“月初”日期。