楼主: huanjingv
4723 13

[数据管理求助] stata分组求和后,删除部分数据,如何使求和结果不随样本量减少而改变 [推广有奖]

  • 0关注
  • 0粉丝

已卖:247份资源

本科生

28%

还不是VIP/贵宾

-

威望
0
论坛币
1153 个
通用积分
16.3204
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
1694 点
帖子
49
精华
0
在线时间
93 小时
注册时间
2014-9-6
最后登录
2019-11-7

楼主
huanjingv 发表于 2018-9-12 03:36:20 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据如下:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str14 hhcode float n
  4. "1101010206801" 1
  5. "1101010206801" 1
  6. "1101010206801" 1
  7. "1101010208301" 1
  8. "1101010209401" 1
  9. "1101010209401" 1
  10. "1101010209401" 1
  11. "1101010209701" 1
  12. "1101010209701" 1
  13. "1101010209701" 1
  14. end
复制代码

希望达成目标:生成新数列s(s为n的分组求和)且删除hhcode重复值
hhcode                n s
1101010206801 1 4
1101010209401 1 3
1101010209701 1 3
现有操作:
1.bysort hhcode :gen s=sum(n)
2.duplicates drop hhcode,force(此步后s变为1,无法达到预期)

二维码

扫码加我 拉你入群

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

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

关键词:stata分组 Stata 部分数据 tata 样本量

沙发
逍遥梦蝶 发表于 2018-9-12 04:56:07
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str14 hhcode float n
  4. "1101010206801" 1
  5. "1101010206801" 1
  6. "1101010206801" 1
  7. "1101010208301" 1
  8. "1101010209401" 1
  9. "1101010209401" 1
  10. "1101010209401" 1
  11. "1101010209701" 1
  12. "1101010209701" 1
  13. "1101010209701" 1
  14. end

  15. bysort hhcode: egen s = count(hhcode)
  16. list
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
huanjingv + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
黃河泉 在职认证  发表于 2018-9-12 07:45:01
请试试
  1. collapse (mean) n (sum) s = n, by(hhcode)
  2. list
复制代码
结果为
  1. . list

  2.      +-----------------------+
  3.      |        hhcode   n   s |
  4.      |-----------------------|
  5.   1. | 1101010206801   1   3 |
  6.   2. | 1101010208301   1   1 |
  7.   3. | 1101010209401   1   3 |
  8.   4. | 1101010209701   1   3 |
  9.      +-----------------------+
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
huanjingv + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

板凳
huanjingv 发表于 2018-9-12 13:27:19
黃河泉 发表于 2018-9-12 07:45
请试试结果为
谢谢老师,目的达到了。老师能简单说说含义么,实际上,除此三个变量,还有一些变量需要(hhcode n x y z...)保留,不知道该在哪里增加变量名(x y z...)。

报纸
huanjingv 发表于 2018-9-12 13:51:59
逍遥梦蝶 发表于 2018-9-12 04:56
您好,输入后报错,提示type mismatch r(109)

地板
黃河泉 在职认证  发表于 2018-9-12 14:46:49
huanjingv 发表于 2018-9-12 13:27
谢谢老师,目的达到了。老师能简单说说含义么,实际上,除此三个变量,还有一些变量需要(hhcode n x y z ...
请 help collapse,永远先看看 help 档。

7
huanjingv 发表于 2018-9-12 20:28:30
本想通过分组求和实现计数,绕了好大一个弯子
犯了低级错误,destring 后采用二楼的方法达成目的,在此表示感谢
感谢黄老师的指点,但是仍没找到collapse后保留其他变量的方法,只能保存后再次匹配?希望大家指点

8
蓝色 发表于 2018-9-13 07:35:13
collapse 不能保留其他变量

按照你提供例子数据,collaps的变量样本数少了(4行),而保留变量的样本数多(10行),
你让软件怎么保留,如何对应。

如果真保留,就是二楼的方法
egen 没有处理的变量保持原样

9
黃河泉 在职认证  发表于 2018-9-13 10:29:38
huanjingv 发表于 2018-9-12 20:28
本想通过分组求和实现计数,绕了好大一个弯子
犯了低级错误,destring 后采用二楼的方法达成目的,在此表示 ...
你先后讲的都不一致,请将你想做的事清楚讲一次!

10
huanjingv 发表于 2018-9-13 17:07:31
我在表述上存在问题,引起了大家的误解,在此表示抱歉
数据:
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input str14 hhcode float(n x y z)
  4. "1101010206801" 1 15 3 3
  5. "1101010206801" 1 15 3 3
  6. "1101010206801" 1  4 3 3
  7. "1101010208301" 1 11 1 1
  8. "1101010209401" 1  6 3 2
  9. "1101010209401" 1 12 3 3
  10. "1101010209401" 1  6 4 3
  11. "1101010209701" 1  4 3 3
  12. "1101010209701" 1 11 3 1
  13. "1101010209701" 1 11 3 1
  14. end
复制代码

目标:生成序列s(n根据hhcode的分组求和),同时hhcode的每个取值数据只保留一条(相同取值如有多个,取第一条),保留其他未纳求和筛选的变量(x y z)

hhcode                n s  x  y  z
1101010206801 1 3 15 3  3
1101010208301 1 1 11 1  1
1101010209401 1 3  6  3  2
1101010209701 1 3  4  3  3

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

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