0

如何在 SAS 中为每个观察创建一个这样的日期列,其中包含每月的第一天?

2007 年 1 月 1 日

02/01/2007

...

2012 年 10 月 1 日

2012 年 11 月 1 日

我应该使用某种do-loop吗?谢谢!

4

1 回答 1

5

是的,循环很容易。这是许多可能的解决方案之一:

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 日的一系列“月初”日期。

于 2013-06-24T19:45:22.287 回答