一个时间序列数据在数据集中以行数据的形式存储(比如10行5列),那我怎么把他读成一列数据啊(先读入第一行,在接着读入第二行。。。)

如原始数据集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>