楼主: zhizhi1993
15815 13

[面板数据求助] Stata怎么根据条件把某一变量的一些值变成空值 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

高中生

42%

还不是VIP/贵宾

-

威望
0
论坛币
161 个
通用积分
0.0254
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2876 点
帖子
4
精华
0
在线时间
52 小时
注册时间
2014-5-19
最后登录
2019-10-24

楼主
zhizhi1993 发表于 2017-8-5 21:46:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

pic1


如图所示,我的mean2015 mean2016都是通过前面的年龄求的平均数,但是我的directors2015 directors2016才是我样本里要有的人数,而在mean2015 mean2016里面某几行它把缺失值也算入进去了,请问怎样才能不把这些缺失值不算进去或者说directors那列里面是缺失值的在mean2015 mean2016不显示呢。求教大神们!!

QQ图片20170806090941.png


第二张图是前面的一些数据,我就是根据age这几列算出后面的年龄的


二维码

扫码加我 拉你入群

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

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

关键词:Stata tata directors Director Direct stata

沙发
黃河泉 在职认证  发表于 2017-8-6 07:55:03
1. 你的叙述看不懂,请从新说一次!2. 建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。

藤椅
zhizhi1993 发表于 2017-8-6 16:13:31
黃河泉 发表于 2017-8-6 07:55
1. 你的叙述看不懂,请从新说一次!2. 建議用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料 ...
就是我的directors 2015 2016这些其实就是根据前面有条件的筛选出来的,我只想mean2015 2016这些只计算并且显示的是directors那几列里面为1的数据,怎么样可以实现呢

板凳
黃河泉 在职认证  发表于 2017-8-6 17:12:38
zhizhi1993 发表于 2017-8-6 16:13
就是我的directors 2015 2016这些其实就是根据前面有条件的筛选出来的,我只想mean2015 2016这些只计算并 ...
再看看有没有人可以了解你的问题并回答你的问题?

报纸
蓝色 发表于 2017-8-6 17:23:20
看不懂

地板
zhizhi1993 发表于 2017-8-6 18:30:03
input int(Appointmentyear Resignationyear) float(age2008 age2009 directors2008 directors2009 mean2008 mean2009)
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
2006    .  .  . 1 1 50.14286       51
2014    . 36 37 . . 59.55556 61.17647
2001    . 44 45 1 1 50.14286       51
2000    . 44 45 1 1 50.14286       51
2011 2012 52 53 . . 59.55556 61.17647
1991 2000 69 70 . . 59.55556 61.17647
2013 2013 44 45 . . 59.55556 61.17647
1991 1999 69 70 . . 59.55556 61.17647
2001 2013 57 58 1 1 50.14286       51
1991 2000 53 54 . . 59.55556 61.17647
2006 2009 49 50 1 1 50.14286       51
1993 1999 82 83 . . 59.55556 61.17647
1998 2000 56 57 . . 59.55556 61.17647
2003 2013 49 50 1 1 50.14286       51
2000 2003 73 74 . . 59.55556 61.17647
1999 2000 50 51 . . 59.55556 61.17647
1991 1999 67 68 . . 59.55556 61.17647
1991 2000 66 67 . . 59.55556 61.17647
2000 2001 50 51 . . 59.55556 61.17647
2001 2006 61 62 . . 59.55556 61.17647
1996 2000 58 59 . . 59.55556 61.17647
1991 1995 76 77 . . 59.55556 61.17647
1991 2000 61 62 . . 59.55556 61.17647
2009 2013 49 50 . 1 59.55556       51
2006 2011 54 55 1 1 50.14286       51

像上面的数据,第一列是任命时间,第二列是辞职时间,我通过得到了第三第四列,在08年09年的时候他们的年龄是多少
之后第五第六列是我要筛选的人,就是说08年的我就需要在08年以前入职的,但是08年以后离职的人,然后符合条件的就为1.
之后最后两行我是想要只算五六行为1的人的平均年龄,但是现在是它把前面为缺失值的人的年龄也算了。
我应该怎样命令让算平均年龄的两列只算没有缺失值得部分,或者只保留前面为1的部分呢?

7
zhizhi1993 发表于 2017-8-6 18:49:49
黃河泉 发表于 2017-8-6 17:12
再看看有没有人可以了解你的问题并回答你的问题?
input int(Appointmentyear Resignationyear) float(age2008 age2009 directors2008 directors2009 mean2008 mean2009)
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
   .    .  .  . . .        .        .
2006    .  .  . 1 1 50.14286       51
2014    . 36 37 . . 59.55556 61.17647
2001    . 44 45 1 1 50.14286       51
2000    . 44 45 1 1 50.14286       51
2011 2012 52 53 . . 59.55556 61.17647
1991 2000 69 70 . . 59.55556 61.17647
2013 2013 44 45 . . 59.55556 61.17647
1991 1999 69 70 . . 59.55556 61.17647
2001 2013 57 58 1 1 50.14286       51
1991 2000 53 54 . . 59.55556 61.17647
2006 2009 49 50 1 1 50.14286       51
1993 1999 82 83 . . 59.55556 61.17647
1998 2000 56 57 . . 59.55556 61.17647
2003 2013 49 50 1 1 50.14286       51
2000 2003 73 74 . . 59.55556 61.17647
1999 2000 50 51 . . 59.55556 61.17647
1991 1999 67 68 . . 59.55556 61.17647
1991 2000 66 67 . . 59.55556 61.17647
2000 2001 50 51 . . 59.55556 61.17647
2001 2006 61 62 . . 59.55556 61.17647
1996 2000 58 59 . . 59.55556 61.17647
1991 1995 76 77 . . 59.55556 61.17647
1991 2000 61 62 . . 59.55556 61.17647
2009 2013 49 50 . 1 59.55556       51
2006 2011 54 55 1 1 50.14286       51

就是这样子,我第一第二列是directors的任职和离职时间,第三第四列是08 09年的时候他们的年龄。
第五第六列是我通过一些条件筛选的人,符合条件的为1,也就是说08年之前离职并且在08年以前入职的人,directors标记为1.
之后最后两列我是想算出来符合条件的人的平均年龄,但是它把前面为缺失值的人也算了进去。我想要的就是只算前面条件为1的人,缺失值那几列还是显示为缺失值或者说显示为不算缺失值的平均年龄呢?

8
黃河泉 在职认证  发表于 2017-8-6 19:21:01
zhizhi1993 发表于 2017-8-6 18:49
input int(Appointmentyear Resignationyear) float(age2008 age2009 directors2008 directors2009 mean2 ...
第 5 笔资料 (Appointmentyear = 2006 ) 根本没有 Resignationyear,为什么 directors2008, directors2009 会是 1 呢?其他部分请检查一下!

9
zhizhi1993 发表于 2017-8-6 19:30:09
黃河泉 发表于 2017-8-6 19:21
第 5 笔资料 (Appointmentyear = 2006 ) 根本没有 Resignationyear,为什么 directors2008, directors200 ...
哦哦哦,因为resignationyear的缺失值就是表示还没有离职,所以应该包含进去

10
黃河泉 在职认证  发表于 2017-8-6 19:35:17
zhizhi1993 发表于 2017-8-6 19:30
哦哦哦,因为resignationyear的缺失值就是表示还没有离职,所以应该包含进去
你不是说,"也就是说08年之前离职并且在08年以前入职的人,directors标记为1." 既然他没有离职,为何是 1?

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

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