统计建模过程中常常需要对数据的排列格式进行转化。如拟合时间依存变量的混合模型时,需要数据1转化为数据2的格式。
数据1
id y2009 y2010 y2011
1002 300 400 500
1003 400 400 600
数据2
id year value
1002 2009 300
1002 2010 400
1002 2011 500
1003 2009 400
1003 2010 400
1003 2011 600
横向数据转换为纵向数据
data long;
set wide;
value=y2009;year=2009;output;
value=y2010;year=2010;output;
value=y2011;year=2011;output;
run;
纵向数据转换为横向数据
proc transpose data=long out=wide prefix=y;
by year;
id id;
var value;
run;