全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2202 8
2011-12-09
我想请教一个问题:
number  gender      age      income       X
1              0               18        2300       ?
2              0               25        3100        ?
3              1               47        5100        ?
4              0               74        500   ?
5              1                41       3200  ?
6              0               24        2400  ?
...             ...           ...            ...            ?
其中,number是样本序号,gender指示性别(0-1变量),age是年龄,income 是收入。我现在想求收入的平均数x,该X是指与个体同性别,与个体年龄相差在5岁以内的所有其他个体的平均收入。比如,对个体1,其性别是0,年龄是18,则需要将那些性别同样是0,且年龄大于等于13,小于等于23的所有其他个体的平均收入作为个体1对应的X。

请教如何写命令?关键是我不知道年龄相差5岁以内(<=5)怎么处理?
灰常感激!


二维码

扫码加我 拉你入群

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

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

全部回复
2011-12-10 11:07:49
没人理自己顶一下
二维码

扫码加我 拉你入群

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

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

2011-12-11 20:11:07
嗯,不错,我也想知道。
二维码

扫码加我 拉你入群

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

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

2011-12-11 20:11:13
嗯,不错,我也想知道。
二维码

扫码加我 拉你入群

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

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

2011-12-12 20:23:12
大致解决思路,还可以优化
下面:var1代表age var2代表incom
sort var1
gen s1=_n
sum s1
local Ns1=r(max)
forvalues t=1/`Ns1'{
gen m`t'=var1+5 if s1==`t'
gen n`t'=var1-5 if s1==`t'
quiet sum m`t'
gen k`t'=r(max)
quiet sum n`t'
gen l`t'=r(max)
quiet sum var2 if k`t'>=var1&var1>=l`t'
gen h`t'=r(mean)
}
二维码

扫码加我 拉你入群

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

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

2011-12-12 20:32:25
这个好像和计算滚动标准差类似,你可以在论坛上搜下
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群