楼主: jzf266
1625 3

[编程问题求助] stata等间隔分组 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

67%

还不是VIP/贵宾

-

威望
0
论坛币
318 个
通用积分
1.0556
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
260 点
帖子
15
精华
0
在线时间
42 小时
注册时间
2016-12-24
最后登录
2019-8-7

10论坛币
有一组收入数据,从1到3000000,我想分成1000组,也就是收入从小到大排列后,收入差距每隔3000划为一个组。不是等分成1000分,也不是用1000分位数。

我想了一个办法,但是不会写循环。
gen group=1000
replace group=999 if total_income<=3000000-3000*1
replace group=998 if total_income<=3000000-3000*2

……
……
replace group=1000-i if total_income<=3000000-3000*i (i 从1到999)
……
replace group=1 if total_income<=3000000-3000*999

关键词:Stata tata replace Income Group
沙发
黃河泉 在职认证  发表于 2019-3-20 18:09:06 |只看作者 |坛友微信交流群
你若要问程序,永远附上相关资料;若附上资料,永远用 dataex 印出资料。
1.        先 ssc install dataex (并见说明),将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。
2.        请参考说明https://bbs.pinggu.org/thread-5048204-1-1.html

使用道具

藤椅
ritaing 发表于 2019-3-22 01:02:11 |只看作者 |坛友微信交流群
如下
  1. gen group=.
  2. forvalues i=1(1)1000{
  3. replace group=`i' if total_income<=3000*`i' & total_income>3000*(`i'-1)
  4. }
复制代码

使用道具

板凳
Dayvn 发表于 2024-5-22 10:14:40 |只看作者 |坛友微信交流群
我也遇到这个问题,有不写循环的解决办法嘛??

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-16 11:27