楼主: jzf266
2169 3

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

  • 0关注
  • 0粉丝

等待验证会员

高中生

67%

还不是VIP/贵宾

-

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

楼主
jzf266 发表于 2019-3-20 18:00:48 |AI写论文
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
拉您入交流群
GMT+8, 2026-1-27 12:07