楼主: SADCGP
5608 10

[面板数据求助] 请教stata如何有条件的把若干行进行合并 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

本科生

54%

还不是VIP/贵宾

-

威望
0
论坛币
239 个
通用积分
0.1500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
174 点
帖子
12
精华
0
在线时间
188 小时
注册时间
2010-8-13
最后登录
2025-11-9

楼主
SADCGP 发表于 2014-8-30 05:16:36 |AI写论文
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为字符型变量
关键词:Stata tata 行合并 Capital stata新手 如何

回帖推荐

hplcdadong 发表于3楼  查看完整内容

There are several methods, here is one: gen id2=int(id/100) collapse (sum) capital, by(id2)

沙发
阿狸与桃子 发表于 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为字符型变量

藤椅
SADCGP 发表于 2014-8-30 16:42:36
顶一下。。

板凳
hplcdadong 发表于 2014-8-30 18:52:54
There are several methods, here is one:

gen id2=int(id/100)
collapse (sum) capital, by(id2)
已有 1 人评分论坛币 热心指数 收起 理由
crystal8832 + 5 + 1 热心帮助其他会员

总评分: 论坛币 + 5  热心指数 + 1   查看全部评分

报纸
crystal8832 学生认证  发表于 2014-8-30 19:59:52
楼上的思路应该是可以的。还有一种方法,用substr命令提取id的前两位为一个新变量,然后在使用sum

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

7
SADCGP 发表于 2014-8-31 00:43:25
hplcdadong 发表于 2014-8-30 18:52
There are several methods, here is one:

gen id2=int(id/100)
多谢!!

8
SADCGP 发表于 2014-8-31 00:44:06
阿狸与桃子 发表于 2014-8-30 23:03
gen id2=substr(id,1,2)
bys id2: egen sum=total(capital)  
或者 collapse (sum) capital, by(id2)
非常感谢!!!

9
蓝苹果123 发表于 2020-3-14 13:13:47
如果都是字符型的怎么合并呢?

10
Clover_Yin 学生认证  发表于 2022-1-3 10:17:55
hplcdadong 发表于 2014-8-30 18:52
There are several methods, here is one:

gen id2=int(id/100)
求问,如果有两个合并条件要怎么写呢?(完全小白,确实不太懂,谢谢您!)

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 15:00