全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
5562 10
2014-08-30
悬赏 50 个论坛币 已解决

stata新手 想请教大神们原始数据表格举例如下
           id         capital  .....
a         1234       10
b         1299       20
c         1277       30
d         2244        1
e         2255        5
f          2233        6

我想要按照id 把满足前两位是12的三组变量的capital等后面所有的变量相加 id前两位是22的capital以及后面所有变量相加 结果如下
     id2       capital  ......
      12         60
      22         12

谢谢诸位大神了 !!

最佳答案

阿狸与桃子 查看完整内容

gen id2=substr(id,1,2) bys id2: egen sum=total(capital) 或者 collapse (sum) capital, by(id2) 一楼的方法前提是id为数值型变量 我写的前提是id为字符型变量
二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-30 05:16:37
SADCGP 发表于 2014-8-30 20:48
非常感谢 能麻烦您写的稍微详细一点吗?实在是新手。。。多谢啦!!
gen id2=substr(id,1,2)
bys id2: egen sum=total(capital)  
或者 collapse (sum) capital, by(id2)
一楼的方法前提是id为数值型变量
我写的前提是id为字符型变量
二维码

扫码加我 拉你入群

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

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

2014-8-30 16:42:36
顶一下。。
二维码

扫码加我 拉你入群

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

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

2014-8-30 18:52:54
There are several methods, here is one:

gen id2=int(id/100)
collapse (sum) capital, by(id2)
二维码

扫码加我 拉你入群

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

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

2014-8-30 19:59:52
楼上的思路应该是可以的。还有一种方法,用substr命令提取id的前两位为一个新变量,然后在使用sum
二维码

扫码加我 拉你入群

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

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

2014-8-30 20:48:31
crystal8832 发表于 2014-8-30 19:59
楼上的思路应该是可以的。还有一种方法,用substr命令提取id的前两位为一个新变量,然后在使用sum
非常感谢 能麻烦您写的稍微详细一点吗?实在是新手。。。多谢啦!!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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