楼主: wangzt
10676 5

[其他] [求助]关于对变量进行分组及ineqdeco的用法(完结) [推广有奖]

  • 5关注
  • 7粉丝

贵宾

已卖:201份资源

院士

47%

还不是VIP/贵宾

-

威望
4
论坛币
147568607 个
通用积分
5400.6533
学术水平
2 点
热心指数
6 点
信用等级
5 点
经验
39810 点
帖子
1058
精华
0
在线时间
3299 小时
注册时间
2007-12-10
最后登录
2025-12-22

楼主
wangzt 发表于 2008-5-14 09:49:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
<p>1、如何在stata里面,如何将记录数按某一个变量。比如收入从低到高分组。</p><p>比如:</p><p>有变量y:y的值有:1 2 3 4 5 6 </p><p>我想分为2组,高和低,各50%,生成新的变量如果y属于高的话group=1,低的话group=0</p><p>我试过xtile, ptile, _ptile,弄得我糊里糊涂的,觉得应该就是这三个命令中的一个。</p><p>我的意图是想将变量按收入进行分组,因为有一个命令很简单就能做到的。我现在只有用笨办法(从高到低分为十组):</p><p>sort y<br/>gen group=1<br/>forvalue i=2/10 {<br/>replace group=`i' if _n>_N/10*(`i'-1)<br/>}</p><p></p><p>2,我的数据是这样的:<a href="http://wangzengtao.googlepages.com/yyy.dta">http://wangzengtao.googlepages.com/yyy.dta</a></p><p>有变量y  还有性别male 我用ineqdeco的时候,当以male为条件的时候gini不显示。不知道是为什么?</p><p>就是说当我用ineqdeco y if male==1 时,gini的几个项目都是空白。</p><p>而用<br/>inedqdeco y <br/>或者:<br/>drop if male==0<br/>inedqdeco y 是正常的<br/>或者:<br/>by male: inedqdeco y   时也是正常的。</p><p>不知道是什么原因。。。。大家有没有谁遇到过这种情况?<br/></p><p><br/></p><p></p>

[此贴子已经被作者于2008-5-18 0:48:12编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:ineqdeco Deco Dec ECO forvalue replace 如何

回帖推荐

arlionn 发表于5楼  查看完整内容

以下是引用wangzt在2008-5-14 9:49:00的发言:1、如何在stata里面,如何将记录数按某一个变量。比如收入从低到高分组。比如:有变量y:y的值有:1 2 3 4 5 6 我想分为2组,高和低,各50%,生成新的变量如果y属于高的话group=1,低的话group=0我试过xtile, ptile, _ptile,弄得我糊里糊涂的,觉得应该就是这三个命令中的一个。我的意图是想将变量按收入进行分组,因为有一个命令很简单就能做到的。我现在只有用笨办法(从高到低分为十 ...

wbzdwss 发表于3楼  查看完整内容

egen ymedian=median(y)gen group=0replace group=1 if y>ymedian

本帖被以下文库推荐

沙发
对不起我爱你 在职认证  发表于 2008-5-14 09:52:00

你金币真多

藤椅
wbzdwss 发表于 2008-5-14 13:37:00

egen ymedian=median(y)

gen group=0

replace group=1 if y>ymedian

已有 1 人评分论坛币 热心指数 收起 理由
crystal8832 + 10 + 1 热心帮助其他会员

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

板凳
wangzt 发表于 2008-5-14 19:46:00

但是如果要分为更多的组呢?比如十组

报纸
arlionn 在职认证  发表于 2008-5-14 22:11:00
以下是引用wangzt在2008-5-14 9:49:00的发言:

1、如何在stata里面,如何将记录数按某一个变量。比如收入从低到高分组。

比如:

有变量y:y的值有:1 2 3 4 5 6

我想分为2组,高和低,各50%,生成新的变量如果y属于高的话group=1,低的话group=0

我试过xtile, ptile, _ptile,弄得我糊里糊涂的,觉得应该就是这三个命令中的一个。

我的意图是想将变量按收入进行分组,因为有一个命令很简单就能做到的。我现在只有用笨办法(从高到低分为十组):

sort y
gen group=1
forvalue i=2/10 {
replace group=`i' if _n>_N/10*(`i'-1)
}

sort y

gen group = group(10)

* gen group = group(#)   /* # 表示要分组的个数*/

地板
jadetsh 发表于 2008-5-18 00:11:00

gen group=group(10) 确实能够实现楼主的目的,但是这个方法在有些时候也是值得商榷的,个人感觉每种方法都有自己的适用范围。

比如有100人,按收入从低到高排序,第8-11人有相同的收入,感觉这种方法就未必合理了。

[此贴子已经被作者于2008-5-18 0:24:22编辑过]

愿逐月华 照君

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 22:18