楼主: 风雨阁主人
3179 14

[数据管理求助] 求助一个面板数据变量值替换的问题 [推广有奖]

  • 1关注
  • 7粉丝

已卖:1959份资源

副教授

27%

还不是VIP/贵宾

-

威望
0
论坛币
1915 个
通用积分
302.2507
学术水平
14 点
热心指数
23 点
信用等级
18 点
经验
8828 点
帖子
321
精华
0
在线时间
1038 小时
注册时间
2012-11-25
最后登录
2025-11-17

楼主
风雨阁主人 学生认证  发表于 2018-3-13 08:51:47 |AI写论文
20论坛币
dataex id year eduyear educomp

----------------------- copy starting from the next line -----------------------
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input byte id int year byte(eduyear educomp)
  4. 1 2010  6 1
  5. 1 2012  4 1
  6. 1 2014  6 1
  7. 1 2016  6 1
  8. 2 2010  8 0
  9. 2 2012 10 1
  10. 2 2014 10 1
  11. 2 2016 10 1
  12. 3 2010  8 0
  13. 3 2012  6 0
  14. 3 2014 10 0
  15. 3 2016 12 1
  16. end
复制代码

------------------ copy up to and including the previous line ------------------

Listed 12 out of 12 observations


在以上面为例的面板数据中,受教育年限对于已经完成受教育(变量为educomp,完成记为1,未完成记为0)的,受教育年限eduyear是不变的,但是各种原因,导致部分错误,比如说ID为1的样本,它是已经完成教育了,但12年的调查值比10年的小,如何把这些比上一年小的值找出来替换成上一年的值?对于ID为3的样本,10、12、14年都还未完成教育,所以受教育年限应该一直上升,但是14年的值等于10年,怎么把这个14年的值找出来进行换成12,谢谢各路大侠!


最佳答案

黃河泉 查看完整内容

不知有无误解你的意思,第一个情况

沙发
黃河泉 在职认证  发表于 2018-3-13 08:51:48
风雨阁主人 发表于 2018-3-13 19:08
ID3的样本是一种情况,在14年调查的时候处于高三但是还未毕业,所以是否完成教育记为0,但是到16年在调查 ...
不知有无误解你的意思,第一个情况
  1. bys id (year): replace eduyear = eduyear[_n-1] if (eduyear < eduyear[_n-1]) & _n != 1 & educomp == 1
复制代码

藤椅
黃河泉 在职认证  发表于 2018-3-13 18:05:54
1. 谢谢用 dataex 印出资料。 2. id=1 这个人的说明我还看得懂,id=3 应该说明有误 (例如 2010 与 2012 的 eduyear 之值不对吧?)!为什么 2014 之值要为 12?
已有 1 人评分经验 论坛币 热心指数 收起 理由
葫芦娃大王 + 100 + 10 + 1 精彩帖子

总评分: 经验 + 100  论坛币 + 10  热心指数 + 1   查看全部评分

板凳
风雨阁主人 学生认证  发表于 2018-3-13 19:08:53
黃河泉 发表于 2018-3-13 18:05
1. 谢谢用 dataex 印出资料。 2. id=1 这个人的说明我还看得懂,id=3 应该说明有误 (例如 2010 与 2012 的  ...
ID3的样本是一种情况,在14年调查的时候处于高三但是还未毕业,所以是否完成教育记为0,但是到16年在调查的时候已经高中毕业未读书了,所以受教育年限仍然记为12,而是否完成教育记为1.
麻烦黄老师主要看一下ID1的这种情况,第一种情况 在我的样本中比较多,谢谢!

报纸
风雨阁主人 学生认证  发表于 2018-3-14 10:03:34
黃河泉 发表于 2018-3-14 06:37
不知有无误解你的意思,第一个情况
谢谢黄老师,昨晚还想到一个办法,找到组内最大值,然后根据是否完成教育,用最大值对其进行替代

地板
风雨阁主人 学生认证  发表于 2018-3-20 09:42:13
黃河泉 发表于 2018-3-13 08:51
不知有无误解你的意思,第一个情况
谢谢黄老师,您的命令是有效的,还有个问题,就是该行命令中间的  _n!  是什么意思,为什么要加这个?谢谢

7
黃河泉 在职认证  发表于 2018-3-20 10:45:14
风雨阁主人 发表于 2018-3-20 09:42
谢谢黄老师,您的命令是有效的,还有个问题,就是该行命令中间的  _n!  是什么意思,为什么要加这个?谢谢 ...
自己
  1. gen t = _n
复制代码
就知道了。

8
馨雨初缘 学生认证  发表于 2020-7-27 23:47:35
微信图片_20200727233624.png 楼主您好,对于同一个变量,比如有些年份的婚姻状况是缺失的,怎么用有数值的年份去插补缺失年份。谢谢您

9
馨雨初缘 学生认证  发表于 2020-7-27 23:49:29
黃河泉 发表于 2018-3-20 10:45
自己就知道了。
黄老师,您好,类似的问题,对于面板数据,比如婚姻状况这个变量,有些年份有数值,有些年份数值是缺失的,怎么用有数值的年份去插补缺失年份。

10
黃河泉 在职认证  发表于 2020-7-28 08:16:39
馨雨初缘 发表于 2020-7-27 23:49
黄老师,您好,类似的问题,对于面板数据,比如婚姻状况这个变量,有些年份有数值,有些年份数值是缺失的 ...
1. 你是想要填补"丧偶"吗?2. 你若要问程序,建议永远用 (ssc install) dataex 附上相关`代表性’资料 (请尽量不要用截图或其他格式)。请参考说明 https://bbs.pinggu.org/thread-5048204-1-1.html

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

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