全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
12532 5
2009-03-11
<p>想把一组收入数据分成5等分, 用了如下命令- </p><p>. xtile income_group = income, nq(5) </p><p>. tab income_group</p><p>预想看到的结果应该是5个group各占20%, 或近似等于20%(考虑到有clustering的情况);但结果却是, 有的group的份额只有15%,而有的达到30%+ </p><p>- 想请教高手这种情况应该如何处理?或者,根本有没有必要进行处理呢?谢谢。</p>
二维码

扫码加我 拉你入群

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

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

全部回复
2009-3-11 22:38:00

这是因为stata严格按分位数分组。

当观测值等于某一分位数的情况有很多时,每组的份额便可能不均等了。

简单说,按分位数分组并不总等价于n等分组。

二维码

扫码加我 拉你入群

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

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

2009-3-11 22:45:00

所以结果是对的,并没有进行处理的必要,对么?

二维码

扫码加我 拉你入群

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

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

2009-3-11 22:48:00


sort y
g sh=_n/_N
g q5=0
forv i=1(1)5{
replace q5=`i' if sh<=`i'/5&sh>(`i'-1)/5
}
drop sh

*根据q5可得到关于y的五等分组

[此贴子已经被作者于2009-3-11 22:50:36编辑过]

二维码

扫码加我 拉你入群

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

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

2009-3-12 08:29:00
另一种方法,使用 group() 函数:
. sysuse auto, clear
. sort price
. gen g5 = group(5)
. tab g5
         g5 |      Freq.     Percent        Cum.
------------+-----------------------------------
          1 |         15       20.27       20.27
          2 |         15       20.27       40.54
          3 |         14       18.92       59.46
          4 |         15       20.27       79.73
          5 |         15       20.27      100.00
------------+-----------------------------------
      Total |         74      100.00
二维码

扫码加我 拉你入群

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

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

2009-4-5 20:30:00

但是这样的话, 好像有可能同样大小的观测值被分到两个组里面ba

二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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