楼主: 莫沙彻
12945 7

[数据管理求助] stata计算家庭中儿子数量、女儿数量 [推广有奖]

  • 1关注
  • 0粉丝

博士生

55%

还不是VIP/贵宾

-

威望
0
论坛币
7563 个
通用积分
61.4054
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
16 点
帖子
46
精华
0
在线时间
586 小时
注册时间
2015-7-26
最后登录
2025-10-30

楼主
莫沙彻 发表于 2019-3-4 21:14:00 |AI写论文
100论坛币
11.png
图中是家庭中子女性别与出生年月的变量。
想进行以下操作:
1、计算家庭中女儿数量
bysort fid16:egen girlnumber=count(tb2_a_c1==0| tb2_a_c2==0| tb2_a_c3==0| tb2_a_c4==0| tb2_a_c5==0| tb2_a_c6==0| tb2_a_c7==0|
自己写的命令,求出来数值不对。
2、计算家庭中儿子数量
3、把这10个孩子按出生年月从大到小进行排序,看家庭中最大孩子的性别。

望大神解答,万分感谢!!!


最佳答案

关键词:子女性别

沙发
黃河泉 在职认证  发表于 2019-3-4 21:14:01
莫沙彻 发表于 2019-3-5 17:22
感谢您的耐心回复。
tb2_a_c1 tb1y_a_c1……tb2_a_c10 tb1y_a_c10分别表示第一个子女的性别、第一个子女 ...
试试
  1. mvdecode _all, mv(-8)
  2. ren tb2_a_c* sex*
  3. ren tb1y_a_c* age*
  4. gen n = _n
  5. reshape long sex age, i(n)
  6. bys n: egen boys = sum(sex == 1)
  7. bys n: egen girls = sum(sex == 0)
  8. sort n age
  9. collapse (first) boys girls sex, by(n)
复制代码

藤椅
黃河泉 在职认证  发表于 2019-3-5 10:30:44
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        请参考说明https://bbs.pinggu.org/thread-5048204-1-1.html

板凳
莫沙彻 发表于 2019-3-5 16:21:28
----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input double(tb2_a_c1 tb1y_a_c1 tb2_a_c2 tb1y_a_c2 tb2_a_c3 tb1y_a_c3 tb2_a_c4 tb1y_a_c4 tb2_a_c5 tb1y_a_c5 tb2_a_c6 tb1y_a_c6 tb2_a_c7 tb1y_a_c7 tb2_a_c8 tb1y_a_c8 tb2_a_c9 tb1y_a_c9 tb2_a_c10 tb1y_a_c10)
  4. 1 1994 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  5. 1 1994 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  6. -8   -8 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  7. -8   -8 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  8. -8   -8 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  9. 0 2012  0 2016 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  10. -8   -8 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  11. 1 2015 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  12. -8   -8 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  13. 0 2010 -8   -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8 -8
  14. end
  15. label values tb2_a_c1 tb2_a_c1
  16. label def tb2_a_c1 -8 "不适用", modify
  17. label def tb2_a_c1 0 "女", modify
  18. label def tb2_a_c1 1 "男", modify
  19. label values tb1y_a_c1 tb1y_a_c1
  20. label def tb1y_a_c1 -8 "不适用", modify
  21. label values tb2_a_c2 tb2_a_c2
  22. label def tb2_a_c2 -8 "不适用", modify
  23. label def tb2_a_c2 0 "女", modify
  24. label values tb1y_a_c2 tb1y_a_c2
  25. label def tb1y_a_c2 -8 "不适用", modify
  26. label values tb2_a_c3 tb2_a_c3
  27. label def tb2_a_c3 -8 "不适用", modify
  28. label values tb1y_a_c3 tb1y_a_c3
  29. label def tb1y_a_c3 -8 "不适用", modify
  30. label values tb2_a_c4 tb2_a_c4
  31. label def tb2_a_c4 -8 "不适用", modify
  32. label values tb1y_a_c4 tb1y_a_c4
  33. label def tb1y_a_c4 -8 "不适用", modify
  34. label values tb2_a_c5 tb2_a_c5
  35. label def tb2_a_c5 -8 "不适用", modify
  36. label values tb1y_a_c5 tb1y_a_c5
  37. label def tb1y_a_c5 -8 "不适用", modify
  38. label values tb2_a_c6 tb2_a_c6
  39. label def tb2_a_c6 -8 "不适用", modify
  40. label values tb1y_a_c6 tb1y_a_c6
  41. label def tb1y_a_c6 -8 "不适用", modify
  42. label values tb2_a_c7 tb2_a_c7
  43. label def tb2_a_c7 -8 "不适用", modify
  44. label values tb1y_a_c7 tb1y_a_c7
  45. label def tb1y_a_c7 -8 "不适用", modify
  46. label values tb2_a_c8 tb2_a_c8
  47. label def tb2_a_c8 -8 "不适用", modify
  48. label values tb1y_a_c8 tb1y_a_c8
  49. label def tb1y_a_c8 -8 "不适用", modify
  50. label values tb2_a_c9 tb2_a_c9
  51. label def tb2_a_c9 -8 "不适用", modify
  52. label values tb1y_a_c9 tb1y_a_c9
  53. label def tb1y_a_c9 -8 "不适用", modify
  54. label values tb2_a_c10 tb2_a_c10
  55. label def tb2_a_c10 -8 "不适用", modify
  56. label values tb1y_a_c10 tb1y_a_c10
  57. label def tb1y_a_c10 -8 "不适用", modify
复制代码
------------------ copy up to and including the previous line ------------------

报纸
黃河泉 在职认证  发表于 2019-3-5 16:32:36
莫沙彻 发表于 2019-3-5 16:21
----------------------- copy starting from the next line ----------------------------------------- c ...
1. 谢谢,但尔后请用回复!2. 请解释各变量与你要求的东西,不然不知从何开始?

地板
莫沙彻 发表于 2019-3-5 17:22:58
黃河泉 发表于 2019-3-5 16:32
1. 谢谢,但尔后请用回复!2. 请解释各变量与你要求的东西,不然不知从何开始?
感谢您的耐心回复。
tb2_a_c1 tb1y_a_c1……tb2_a_c10 tb1y_a_c10分别表示第一个子女的性别、第一个子女的出生年份……第十个子女的性别、第十个子女的出生年份。
性别变量赋值0=女,1=男,-8=不适用
出生年份变量赋值-8=不适用
我想利用数据进行以下操作:
1、计算家庭中女儿数量
2、计算家庭中儿子数量
3、把这10个孩子按出生年月从大到小进行排序,看家庭中最大孩子的性别。

目前自己可以解决前两个问题了,命令如下:
egen girlnumber=anycount(tb2_a_c1 tb2_a_c2 tb2_a_c3 tb2_a_c4 tb2_a_c5 tb2_a_c6 tb2_a_c7 tb2_a_c8 tb2_a_c9 tb2_a_c10),value(0)
egen boynumber=anycount(tb2_a_c1 tb2_a_c2 tb2_a_c3 tb2_a_c4 tb2_a_c5 tb2_a_c6 tb2_a_c7 tb2_a_c8 tb2_a_c9 tb2_a_c10),value(1)
但第3个问题仍不知如何处理,还请大神赐教。

7
莫沙彻 发表于 2019-3-5 19:33:25
黃河泉 发表于 2019-3-5 18:23
试试
非常感谢!!
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input float(n boys girls) double sex
  4. 1 1 0 1
  5. 2 1 0 1
  6. 3 1 0 1
  7. 4 2 0 1
  8. 5 0 1 0
  9. 6 3 2 1
  10. 7 1 0 1
  11. 8 1 0 1
  12. 9 1 2 0
  13. 10 1 2 0
  14. end
复制代码
但是这个数据最后只保留了新生的变量,其余的变量都没有了,如何把原来的变量也保存呢?

8
黃河泉 在职认证  发表于 2019-3-6 06:35:20
莫沙彻 发表于 2019-3-5 19:33
非常感谢!!但是这个数据最后只保留了新生的变量,其余的变量都没有了,如何把原来的变量也保存呢?
这可能有点麻烦!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-8 04:43