楼主: 有信儿
2589 3

[数据管理求助] 求解!截面数据中求同一id的某一个变量的排序前30%的样本的均值的stata命令? [推广有奖]

  • 1关注
  • 0粉丝

高中生

17%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
48 小时
注册时间
2020-5-13
最后登录
2023-6-8

楼主
有信儿 发表于 2021-4-19 09:19:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据清理中想要求解同id的某变量的排序前30%的均值如何求?例子:
id  income
1      2300
1      5000  
1      6000
1      15000
1       3500
1       5600
1       6000
2       8200
2       10000
2      5000
2       800
3       9562
3       5689
3       1201
因为id有上百个,用Excel算的话太麻烦了,求各位大佬赐教?
二维码

扫码加我 拉你入群

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

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

关键词:stata命令 Stata tata 截面数据 用excel

沙发
hewj 发表于 2021-4-19 12:25:00
可以考虑下述命令:
  1. bys id: egen count = count(income)
  2. bys id: egen rank = rank(-bold_1)
  3. gen perc = rank/count
  4. keep if count <= 0.3
  5. bys id: egen m_income = mean(income)
  6. keep id m_income
  7. duplicates drop id, force
复制代码

藤椅
舞过天晴 发表于 2022-4-10 11:04:11 来自手机
请问楼主怎么解决的,谢谢

板凳
黃河泉 在职认证  发表于 2022-4-10 11:34:14
舞过天晴 发表于 2022-4-10 11:04
请问楼主怎么解决的,谢谢
请据以更改:
  1. webuse grunfeld, clear
  2. bys company: egen invest30 = pctile(invest), p(30)
  3. bys company: egen wanted = mean(invest) if invest < invest30
复制代码

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

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