楼主: gdfoshanluofeng
1908 10

[Stata初级班] 数据处理求助 [推广有奖]

  • 2关注
  • 4粉丝

已卖:12份资源

副教授

95%

还不是VIP/贵宾

-

威望
0
论坛币
3723 个
通用积分
1.3750
学术水平
5 点
热心指数
17 点
信用等级
4 点
经验
11831 点
帖子
802
精华
0
在线时间
1269 小时
注册时间
2009-11-19
最后登录
2021-9-27

楼主
gdfoshanluofeng 发表于 2011-8-22 18:59:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

连老师,您好!

我在练习stata时,有个数据处理问题不会,请连老师帮忙看如何解决:

hhid       line  wave  age  edu

10001      3    1989   10   2

10001      2    1989   37   1

10001      1    1989   39   3

10002      1    1989   29   3

10002      2    1989   28   3

10003      1    1989   39   4

10003      2    1989   38   4

10003      3    1989   15   2

……

……

20001      1    1997   50    2

20001      2    1997   46    2

20001      3    1997   25    3

Edu后面的数据1,2,3,4分别表示小学毕业、初中毕业、高中毕业和大学毕业情况。

我现在是想看看每个家庭的人口负担情况以及教育情况(不再看每个成员的情况),这样的话我就要新生成var1(人口负担=(大于60岁以上人口+小于16岁人口)/家庭总人口)、var2(小学人口占家庭人口比例)、VAR3(初中学历人口占家庭人口比例)、var4(高中毕业人口占家庭人口比例)、var5(大学毕业人口占家庭人口比例)。

就是一个家庭对应上述变量(不再需要成员行)

请问这个该怎么做?

谢谢!

二维码

扫码加我 拉你入群

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

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

关键词:数据处理求助 数据处理 数据处理问题 Stata 大学毕业 高中毕业 初中毕业 大学毕业 如何

努力学习

沙发
gdfoshanluofeng 发表于 2011-8-22 19:02:07
hhid表示家庭行号       line表示成员行号  wave代表调查年份  age表示成员年龄  edu表示收教育程度


本文来自: 人大经济论坛 统计软件培训班VIP答疑区 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... amp;from^^uid=1383402
努力学习

藤椅
arlionn 在职认证  发表于 2011-8-23 09:13:56

*-https://bbs.pinggu.org/thread-1158982-1-1.html

clear
input ///
hhid       line  wave  age  edu
10001      3    1989   10   2
10001      2    1989   37   1
10001      1    1989   39   3
10002      1    1989   29   3
10002      2    1989   28   3
10003      1    1989   39   4
10003      2    1989   38   4
10003      3    1989   15   2
20001      1    1997   50    2
20001      2    1997   46    2
20001      3    1997   25    3
end

bysort hhid: egen n = count(hhid)   // 家庭总人数
gen yesage = (age>60|age<16)
bysort hhid: egen nyesage = sum(yesage)      // 小孩和老人数
gen dep = nyesage/n  // var1

* var2-var5 可以按照上述方法生成

*-完成后,仅保留家庭即可
duplicates drop hhid wave, force

板凳
gdfoshanluofeng 发表于 2011-8-23 13:37:54
老师真牛!我试试先!
努力学习

报纸
arlionn 在职认证  发表于 2011-8-23 14:56:26
这些都在课程中讲过,要会举一反三。下次不再回答这种低级问题了,hoho

地板
gdfoshanluofeng 发表于 2011-8-23 20:04:23
这些都是低级问题?我觉得好难啊,看来是我太笨了。没人请教,就只有老师和书了。谢谢!
努力学习

7
gdfoshanluofeng 发表于 2011-8-23 20:08:14
但是对上述问题,程序运行出现了个问题啊,后面的家庭总人数统计不是按照每年的,而是将所有年份出现的次数都计算进去了,如第一个家庭人口数为12,实际上为3,所以出现了重复。冒着挨老师批的风险,还得问问这个问题该怎么办?
努力学习

8
gdfoshanluofeng 发表于 2011-8-23 20:52:15
虽然已经通过数据合并的方式将问题解决,但是还是想知道上述问题的最佳答案。谢谢老师!
努力学习

9
gdfoshanluofeng 发表于 2011-8-31 09:16:49
?????
努力学习

10
arlionn 在职认证  发表于 2011-8-31 15:22:55
修改如下:

bysort year hhid: egen n = count(hhid)   // 家庭总人数
gen yesage = (age>60|age<16)
bysort year   hhid: egen nyesage = sum(yesage)      // 小孩和老人数
gen dep = nyesage/n  // var1


本文来自: 人大经济论坛 统计软件培训班VIP答疑区 版,详细出处参考: https://bbs.pinggu.org/forum.php? ... 1&from^^uid=40938

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

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