SAS - 在一张图片中绘制多个时间序列(长格式数据)

时间:2014-10-15 07:54:03

标签: graph sas

我有这样的数据:

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;

现在我要绘制日期 - 时间序列。我想为每节课拿一行。

此代码已经实现了我正在尝试做的事情:

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转置声明。

我正在使用SAS 9.3但很快就会转向9.4,所以也欢迎9.4特定的答案。

感谢。

1 个答案:

答案 0 :(得分:1)

好的,我是个白痴。这是答案:

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