楼主: huanjingv
4754 13

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

11
huanjingv 发表于 2018-9-13 17:32:47
蓝色 发表于 2018-9-13 07:35
collapse 不能保留其他变量

按照你提供例子数据,collaps的变量样本数少了(4行),而保留变量的样本数多 ...
感谢您,我想保留的并不是“行”而是“列”,除例子中的hhcode  n“列”外,还有一些不需分组求和的“列”(x y z)需要保留,在二楼的方法下,1.通过bysort hhcode: egen s = count(hhcode)
sort  hhcode
duplicates drop hhcode ,force

可以实现,但二楼并未计算n的分组加和而是采用计数替代
2.通过
collapse (mean) n (sum) s = n, by(hhcode)

能够体现对于n的加和,但仅有 hhcode n s三列(6行3列),其余“列”被剔除。现在能想到的是存为新文件,然后通过merge匹配。
我想寻求的是一种通过collapse实现分组求和、删去重复样本以及保留xyz“列”的目的的方法。(6行6列)



12
蓝色 发表于 2018-9-13 21:54:18
不看collapse的帮助
是学不会的

而且,你也没有说明白到底要做什么
  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

  15. collapse (sum) s=n (first) x y z,by(hhcode)
  16. list
复制代码


已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
huanjingv + 5 + 1 + 1 + 1 精彩帖子

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

13
huanjingv 发表于 2018-9-14 00:09:05
蓝色 发表于 2018-9-13 21:54
不看collapse的帮助
是学不会的
谢谢老师的指导,我在先前阅读该函数的help,但由于不够熟练没有想到用first修饰x y z,所以才有此一问,让您见笑了。

14
huanjingv 发表于 2018-9-14 00:09:51
再次感谢各位老师的热心帮助,此问题已圆满解决。

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

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