全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1092 4
2020-12-13
12.png
请问,commid为long,t1-t3位byte,希望生成一个数值型(其实字符串也可以的)的变量city 值为 5513。
如何将commid的前4位5513提取出来生成一个新的变量,我用了gen city=substr(commid,1,4)
但是提示“type mismatch”

此外,如果希望t1-t3合并排列为5513,又怎么处理呢?不能用加,会等于13的。

感谢。

二维码

扫码加我 拉你入群

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

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

全部回复
2020-12-13 19:02:55
commid t1 t2 t3 city
551302  55 1 3 5513
二维码

扫码加我 拉你入群

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

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

2020-12-13 21:19:54
help string()
substr()函数作用于字符串变量,substr(string(commid),1,4),同理t1 t2 t3 string(t1)+string(t2)+string(t3)即可。
二维码

扫码加我 拉你入群

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

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

2020-12-14 08:20:51
因为你这些变量都是数值型的,但你要的操作都是字符串命令,所以mismatch。
可以先把这些变量变成字符串再处理,用tostring命令。
substr和你的+都是没问题的
二维码

扫码加我 拉你入群

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

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

2020-12-14 10:21:06
感谢上面两位大大,最后我把commi除100取整了。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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