【问题标题】:SAS - Plot multiple time series in one picture (long format data)SAS - 在一张图片中绘制多个时间序列(长格式数据)
【发布时间】:2014-10-15 19:04:02
【问题描述】:

我有这样的数据:

data mydata;
    input date class y;
    datalines;
    19900 1 10
    19900 2 11
    19900 3 14
    20000 1 12
    20000 2 15
    20000 3 17
;
run;

现在我想绘制日期 - y 时间序列。我想为每个班级安排一条线路。

这段代码已经实现了我想要做的事情:

proc transpose data=mydata out=transposed;
    id class;
    by date;
run;

proc sgplot data=transposed;
    series x=date y=_1;
    series x=date y=_2;
    series x=date y=_3;
    yaxis label="y";
run;

但这对我不起作用,因为类变量的数量可能会发生变化。我想我可以在那里使用某种宏循环,但是代码开始变得非常复杂。

我想知道是否有一些功能或语句可以轻松生成情节。最好即使没有 proc transpose 语句。

我正在使用 SAS 9.3,但很快就会迁移到 9.4,因此也欢迎 9.4 的具体答案。

谢谢。

【问题讨论】:

    标签: graph sas


    【解决方案1】:

    好吧,我是个白痴。答案如下:

    proc sqplot data=mydata;
        series x=date y=class / group=class;
    run;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 2016-04-14
      • 2019-12-02
      • 2022-12-14
      • 1970-01-01
      相关资源
      最近更新 更多