全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5631 15
2011-09-16
code   year   value
1       2000    5
1       2000   6
1       2000  4.5
1      2000   5.3
1      2005   5.2
1      2005   6.4
1      2005   7
1      2005   7.8
2       2001    5
2       2001   6
2       2001  4.5
2      2001   5.3
2      2005   5.2
2      2005   6.6
2      2005   7.5
2      2005   8
.       .
.       .
.       .
请问高手们如何把上列数转换成(how to the Change data above into the following data ):
code year1 value1   year2  value2
1       2000    5      2005   5.2
1       2000   6       2005  6.4
1       2000  4.5     2005   7
1      2000   5.3     2005   7.8
2      2001   5       2005   5.2
2      2001   6       2005   6.6
2      2001  4.5     2005   7.5
2     2001   5.3     2005   8
谢谢了!(Thanks a lot).
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-9-16 03:38:54
貌似根本不需要transpose;
data a;
input code   year   value;
cards;
1       2000    5
1       2000   6
1       2000  4.5
1      2000   5.3
1      2005   5.2
1      2005   6.4
1      2005   7
1      2005   7.8
2       2001    5
2       2001   6
2       2001  4.5
2      2001   5.3
2      2005   5.2
2      2005   6.6
2      2005   7.5
2      2005   8
;
data b(rename=(value=value1 year=year1)) c(rename=(value=value2 year=year2));
set a;
if year=2005 then output c;
else output b;
run;
data final;
merge b c;
by code;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-16 10:43:02
非常感谢!但是时间并不是都是2005.而且有的code还不止只有2个year呢,有好几个year
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-16 10:57:27
给多点细节吧,多个年度的话,结果是个什么样子
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-16 16:11:25
貌似不是很清楚
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-9-16 21:10:38
复制代码
其实,先按照年份分割数据再组合应该更明了。我的程序要求是一个code里有两个年份,而且第二个包含的观测不必第一个少。京剧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群