全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2908 9
2013-08-02
我有一个数据库, 一个为state的code, 从1到56, 一个为county的code, 从1到130.
state  county
1        1
1         .
1        14
1        15
1        121
2        1
2        2
2        130
.
.
.
56       1
56       32
56       111  


我想生成一个code,形式为01001(第一行), 56111(最后一行)
我将这两个state 和 county前用z语句补零, 将state变成01,02......56的形式,county变成 001,002.....130的形式, 但是究竟如何才可以合并这两个为01001-56111呢?
无论我怎么合并前面的都是11. 还是我不该补零呢.

烦请大师告知. 万分感谢
二维码

扫码加我 拉你入群

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

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

全部回复
2013-8-2 06:57:40
State和county是其中的两个变量, 我想将她们合并生成一个新的变量, 形式是01001, 而不是11. 谢谢
二维码

扫码加我 拉你入群

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

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

2013-8-2 08:07:31
gen var3=string(0)+ string(var1) if var1<10
replace var3=string(0)+ string(var1) if var1<10
replace var3=string(var1) if var1>9
gen var3=string(00)+ string(var1) if var2<9
gen var4=string(00)+ string(var2) if var2<9
gen var1="0"+ string(state) if state<10
replace var1=string(state) if state>9

gen var2="0"+ string(county) if county<100
replace var2="00"+ string(county) if county<10
replace var2= string(county) if county>99

gen new=var1+var2
二维码

扫码加我 拉你入群

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

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

2013-8-2 08:24:25
data have;
input state  county;
state_county=cats(put(state,z2.),put(county,z3.));
cards;
1        1
1         3
1        14
1        15
1        121
2        1
2        2
2        130
;
run;

proc print;
run;
二维码

扫码加我 拉你入群

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

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

2013-8-2 08:39:45
空山空语 发表于 2013-8-2 08:07
gen var3=string(0)+ string(var1) if var1
老师你这个好高深啊, 我没怎么看懂, 但是我用楼下的方法OK了. 非常谢谢你!
二维码

扫码加我 拉你入群

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

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

2013-8-2 08:40:08
farmman60 发表于 2013-8-2 08:24
data have;
input state  county;
state_county=cats(put(state,z2.),put(county,z3.));
真的很谢谢你, 我成功了, 好开心!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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