一个时间序列数据在数据集中以行数据的形式存储(比如10行5列),那我怎么把他读成一列数据啊(先读入第一行,在接着读入第二行。。。)
请教SAS问题:时序图
如原始数据集A:
<br />
a b c<br />
1 2 3<br />
4 5 6<br />
</p>
<br />
data b(keep=want);<br />
set a;<br />
array get{3} _all_;/*试例数据集中是3列(变量)*/<br />
do i=1 to 3;<br />
want=get{i};output;<br />
end;<br />
run;<br />
</p>
得到:
<br />
want<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
</p>非常感谢,解决了!
回复 第2楼 的 hssnow:麻烦再问一下,我想再产生一个时间变time,就在你上面的程序最后加了一行如下:
data b(keep=want);
set a;
array get{3} _all_;/*试例数据集中是3列(变量)*/
do i=1 to 3;
want=get{i};output;
end;
time=intnx('month','01jan2005'd,_n_-1);
run;
可是输出却没有time变量,应该怎么做呢?
回复 第4楼 的 zpfouc:
set a时是2个观测,_n_并不是能有6个,你想加一个time的话,再用一次data步吧
<br />
data c;<br />
set b;<br />
time=intnx('month','01jan2005'd,_n_-1);<br />
format time date9.;<br />
run;<br />
</p>