【问题标题】:How to convert characteristic date time into numberic ones in SAS?如何将特征日期时间转换为 SAS 中的数字时间?
【发布时间】:2021-12-28 08:54:43
【问题描述】:

我有一个名为月份的列

month
JAN
FEB
...
DEC

我想知道如何在 SAS 中将它们转换为 1,2,3,...,12。非常感谢。

【问题讨论】:

    标签: sas


    【解决方案1】:

    使用 informat 将其转换为数字并使用month() 获取月份。

    data have;
        input month :$3. @@;
        datalines;
    JAN FEB DEC
    ;
    
    data want;
      set have;
      x=month(input(month||'21',??monyy.));
    run;
    

    【讨论】:

      【解决方案2】:

      将月份与年份连接起来,使用MONYY. 格式,使用MONTH. 格式,最后使用另一个input() 输出为数值。

      data have;
          input month :$3. @@;
          datalines;
      JAN FEB DEC
      ;
      
      data want;
          set have;
          month_num=input(put(input(catt(month, year(today())), monyy.), month.), 2.);
          put month month_num;
      run;
      
      Results:  
      JAN 1
      FEB 2
      DEC 12
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-01-11
        • 1970-01-01
        • 2016-07-24
        • 1970-01-01
        • 2017-10-31
        • 2022-08-18
        相关资源
        最近更新 更多