【问题标题】:I have an observation and I need to make a column with SAS我有一个观察,我需要用 SAS 做一个专栏
【发布时间】:2016-04-01 13:13:45
【问题描述】:

我有一个观察,我需要用 SAS 做一个专栏 我试过拆分,我试过转置,但什么都没有......

I have:


   num first second third
    1     13     17     16
    2     23     11     64

I need:


 num  var_n
   1  13
      17
      16
   2  23
      11
      64

请给我一些建议

【问题讨论】:

  • 那是sas数据表还是报表?
  • 我需要 proc 报告
  • 请不要多次提问。您已经提出了解决方案,如果它们不起作用,请在此处发表评论。也发布您尝试过的代码。
  • @tanya 你想要一个答案,但不会花时间问一个明确的问题?从长远来看,这并不是真正的运作方式。由于这是您第一次来这里,人们可能会宽容一些,但您确实应该花时间至少提出您的问题。在您的几篇文章中已经向您提供了有关如何提出问题以及在哪里查看的说明,但甚至没有提供您尝试过的代码示例。

标签: sas


【解决方案1】:

Proc Transpose 已经是让您的数据成形的正确步骤。 Proc report 仅用于显示 ID 一次。

data wide;
   input num first second third;
   datalines;
    1     13     17     16
    2     23     11     64
    ;
run;

proc transpose data = wide out= long (rename=(col1 = var_n)) ;
    by num;
    var first second third;
run;

proc report data = long;
    column num  var_n;
    define num/ order;
run;

【讨论】:

  • 您应该在您的 proc 报告语句中添加 nowd - 这在 SAS 9.4+ 中不是必需的,但适用于较低版本。
【解决方案2】:

这实际上是您第三次问同样的问题。您可以使用 proc transpose 或 proc sql 来完成它。

查看您的其他帖子:How to make a column of three. SAS

【讨论】:

    【解决方案3】:

    试试下面的

    proc sort data=dataset;
       by num;
    run;
    
    proc transpose data=dataset out=transpose;
       by num;
       var first second third;
    run;
    

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-01
      • 2014-07-06
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 2022-11-02
      • 1970-01-01
      相关资源
      最近更新 更多