全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
64893 13
2010-07-14
问题:变量VAR1的取值为0~10,我现在想对VAR1进行分析,分两组:令VAR1取值最小的25%的所有obs取值为0,最大的25%组的所有obs取值为1,只对最高25%与最低25%的obs进行分析,取值中间的部分不管。怎么实现?(我现在会用的是用“sum,detail”命令找出上述两档分位数的值A1,A2,再生成变量,如下:
gen X1=0 if VAR1<=A1
gen X2=1 if VAR1>=A2)


请教各位大侠,还有没有其它的简便方法吗?因为我的数据中VAR1的取值是分年度的2001-2009,如果按照上述方法我需要在2001-2009每年都找出两个分位数A1,A2(总共有2*9=18个分位数啊),再按上述方法生成变量就太麻烦了。
二维码

扫码加我 拉你入群

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

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

全部回复
2010-7-14 14:13:36
summ var1, d
local a = r(p25)
local b=r(p75)
gen x1=cond(var1<`a', 0, cond(var1>`b', 1,.))
二维码

扫码加我 拉你入群

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

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

2010-7-14 16:53:48
2# ctx5518

多谢ctx5518 ,高人哪!
二维码

扫码加我 拉你入群

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

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

2010-11-5 14:53:32
受教,谢谢!
二维码

扫码加我 拉你入群

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

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

2011-2-23 16:17:46
不好意思,再问,这样分组,是按照每年的分位数分的,还是按照面板的全部样本分位数分的?
二维码

扫码加我 拉你入群

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

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

2011-10-26 09:40:08
“summ var1, d
local a = r(p25)
local b=r(p75)
gen x1=cond(var1<`a', 0, cond(var1>`b', 1,.))  “
运行时,显示   'b' invalid name
请教高人这是怎么回事?

二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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