楼主: z_miao
3205 7

[数据管理求助] 将var 1分为10 deciles,之后根据var 1计算对应var 2的平均值,求commands!! [推广有奖]

  • 0关注
  • 1粉丝

初中生

9%

还不是VIP/贵宾

-

威望
0
论坛币
615 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
42 点
帖子
5
精华
0
在线时间
18 小时
注册时间
2014-11-22
最后登录
2017-7-3

10论坛币
举个例子,现有var 1:firm size,如何在stata中将其分成10 deciles,之后计算每个deciles对应的var 2: stock return的平均值?如果要计算top 2 deciles对应的均值,又该输入何指令?求大神指教!!

最佳答案

ywh19860616 查看完整内容

clear set obs 100 gen firm_size = uniform() cumul firm_size,g(var2) eq recode var2 (min/0.1=1)(0.1/0.2=2)(0.2/0.3=3)(0.3/0.4=4)(0.4/0.5=5)(0.5/0.6=6)(0.6/0.7=7)(0.7/0.8=8)(0.8/0.9=9)(0.9/max=10) egen size_mean1 = mean(firm_size),by(var2) ***or egen var3 = cut(firm_size),group(10) egen size_mean2 = mean(firm_size),by(var3)
关键词:Commands Command Comm VaR les 平均值 制造商 家具
沙发
ywh19860616 发表于 2015-7-23 09:54:41 |只看作者 |坛友微信交流群
clear
set obs 100
gen firm_size = uniform()
cumul firm_size,g(var2) eq
recode var2 (min/0.1=1)(0.1/0.2=2)(0.2/0.3=3)(0.3/0.4=4)(0.4/0.5=5)(0.5/0.6=6)(0.6/0.7=7)(0.7/0.8=8)(0.8/0.9=9)(0.9/max=10)
egen size_mean1 = mean(firm_size),by(var2)

***or

egen var3 = cut(firm_size),group(10)
egen size_mean2 = mean(firm_size),by(var3)

已有 1 人评分经验 论坛币 热心指数 收起 理由
夏目贵志 + 10 + 10 + 5 热心帮助其他会员

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

使用道具

藤椅
Crsky7 发表于 2015-7-23 09:59:11 |只看作者 |坛友微信交流群
这个或许在matlab中比较好做

使用道具

板凳
z_miao 发表于 2015-7-24 10:12:48 |只看作者 |坛友微信交流群
ywh19860616 发表于 2015-7-23 10:46
clear
set obs 100
gen firm_size = uniform()
多谢大神 另外能否汇总var2每个decile的均值,及每个decile内的个数?

使用道具

报纸
z_miao 发表于 2015-7-24 10:24:13 |只看作者 |坛友微信交流群
ywh19860616 发表于 2015-7-23 10:46
clear
set obs 100
gen firm_size = uniform()
而且使用comannd:
egen var3 = cut(firm_size),group(10)
egen size_mean2 = mean(firm_size),by(var3)

分组后,top 2 decile只显示一个decile

使用道具

地板
ywh19860616 发表于 2015-7-24 10:37:31 |只看作者 |坛友微信交流群
z_miao 发表于 2015-7-24 10:12
多谢大神 另外能否汇总var2每个decile的均值,及每个decile内的个数?
统计个数
  1. egen size_count = count(var2),by(var2)
复制代码

使用道具

7
ywh19860616 发表于 2015-7-24 10:38:21 |只看作者 |坛友微信交流群
z_miao 发表于 2015-7-24 10:24
而且使用comannd:
egen var3 = cut(firm_size),group(10)
egen size_mean2 = mean(firm_size),by(var3 ...
这里表示的是按firm_size的大小,分为10组
你想要得到什么结果?

使用道具

8
z_miao 发表于 2015-7-24 15:42:33 |只看作者 |坛友微信交流群
ywh19860616 发表于 2015-7-24 10:38
这里表示的是按firm_size的大小,分为10组
你想要得到什么结果?
如果firm size存在几项为0后,分10组,results显示只有9组,把0和1两个decile合并成为一个decile啦

使用道具

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

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

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

GMT+8, 2024-6-17 05:33