楼主: hy32gt
2584 4

[数据管理求助] 分类汇总 [推广有奖]

  • 1关注
  • 2粉丝

硕士生

93%

还不是VIP/贵宾

-

威望
0
论坛币
431 个
通用积分
4.7204
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
1891 点
帖子
83
精华
0
在线时间
279 小时
注册时间
2012-7-13
最后登录
2020-11-11

楼主
hy32gt 学生认证  发表于 2015-1-18 14:47:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
数据形式(原始)
group     hsid           v1      v2    v3    v4
1          149912      4526
1          149912      2256
1          475236      77412
1          475326      452
1          475326      7456
2          112567      2263
2          115456      55412
2          112567      563
2          554756      772
group,同一个企业分在同一组 ,hsid代表的是商品种类的编码,不同编码代表不同的产品,v1代表金额,v2/v3/v4同一个group中这些信息是一样的。
步骤一我想实现:同一group的不同商品(hsid)的金额(v1)汇总,譬如group1的产品149912的金额应该为4526+2256=6782
实现形式  hsid层次的统计
group      hsid           v5 (金额统计)              v2    v3    v4
1          149912       6782                          
1          475326       85320
2          112567       2826
2          115456       55412
2          554756       772
步骤二实现形式: group层次的统计
group        v6(种类统计) v7(金额统计)    v2   v3   v4
1                2                       92102
2                3                       59010
两个步骤我都想实现,因为完成第一步后我还得merge很多表,然后进行第二步,感觉处理起来是个好复杂的技术问题啊,希望坛内的各位技术帝能指点下,非常谢谢了。
二维码

扫码加我 拉你入群

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

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

关键词:分类汇总 Group Merge 数据形式 HSI 产品 信息 种类

沙发
hy32gt 学生认证  发表于 2015-1-18 15:04:35
我是这样做的by group hsid:gen v5=sum(v1)貌似好像还是按group来合计的,好尴尬,初学stata,大多都不懂,请各位指点下,是否要写if语句还是我本身写错了

藤椅
hy32gt 学生认证  发表于 2015-1-18 15:22:57
而且我想像步骤一中把那些重复的删掉,不想出现下面的形式,谢谢各位了
group     hsid        v1           v5      v2    v3    v4
1          149912   4526       6782
1          149912   2256       6782

板凳
ctx5518 发表于 2015-1-23 13:04:00
步骤一: check collapse command.
for example: collapse (sum) varlist, by(varlist)

步骤二:
bysort group hsid: gen num = 1
by group hsid: egen total_num = total(num)
then try collapse command
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
SpencerMeng + 20 + 1 + 1 精彩帖子

总评分: 论坛币 + 20  学术水平 + 1  热心指数 + 1   查看全部评分

报纸
hy32gt 学生认证  发表于 2015-1-26 20:28:34
ctx5518 发表于 2015-1-23 13:04
步骤一: check collapse command.
for example: collapse (sum) varlist, by(varlist)
恩恩,好的,查看的比较晚了,谢谢啊,我用了一些比较笨的方法
. bysort group hsid:egen v5=sum(v1)
. egen newid=group(group hsid)  //这里面的group是企业id,我计算时换成其他变量了
. drop if newid==newid[_n+1]
这样我就算出步骤一了,步骤二可能要count一下,我还没做。谢谢指导啊,我试试你的方法

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-8 13:49