【问题标题】:Create different variables out of one variable从一个变量中创建不同的变量
【发布时间】:2014-03-04 22:11:32
【问题描述】:

我试图从一个变量中提取不同的变量。如果您查看我的数据就会清楚:

data test;
input customer date id volume;
1 1 abc 500
1 2 abc 600
1 2 xyz 200
1 3 xyz 300
2 1 def 400
2 2 def 500

我的目标是为每个 id 创建不同的变量,以便数据集如下所示:

customer date id volume id_abc id_xyz id_def
1 1 abc 500 500 . . 
1 2 abc 600 600 . .
1 2 xyz 200 . 200 .
1 3 xyz 300 . 300 .
2 1 def . . 400
2 2 def . . 500

我尝试使用 proc transpose 解决此问题,但由于每个客户有多个 id(我使用选项 let),SAS 会丢弃值。 如果有人可以提供帮助,我会非常高兴!

【问题讨论】:

    标签: sas


    【解决方案1】:

    您可能只需要在您的 proc 转置上使用 by 语句。

    【讨论】:

      【解决方案2】:

      by 语句和id 语句以获取正确的标签。

      data test;
      input customer date id $ volume;
      idvar = cats("id_",id);
      datalines;
      1 1 abc 500
      1 2 abc 600
      1 2 xyz 200
      1 3 xyz 300
      2 1 def 400
      2 2 def 500
      ;;;;
      run;
      proc transpose data=test out=want ;
      by customer date id;
      var id;
      id idvar;
      run;
      

      【讨论】:

        猜你喜欢
        • 2021-11-28
        • 1970-01-01
        • 2011-02-26
        • 1970-01-01
        • 1970-01-01
        • 2019-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多