全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2679 7
2015-03-18
例如:
code     asset      industry     
1            100          A            
2            150          C            
3            200          A            
4            130          B
5            230          B
6             74           C
7            163          C
8             82           A
9            234          B
10          140          B

想生成一个新变量mean_asset,变量值等于样本公司所在行业的其他公司asset的平均值(例如,代码为1的公司样本,其mean_asset的变量值等于公司3和8的asset的均值;代码为4的样本,其mean_asset的变量值等于公司5、9、10的asset的均值)
刚才翻看了帖子,命令“by industry,sort:egen mean_asset=mean(asset) ”无法实现扣除样本公司的需求。


求教各位!多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2015-3-18 12:48:11
有个比较笨的方法:
bysort industry:egen sum_asset=sum(asset)   //生成行业资产总和
gen other_asset=sum_asset-asset  //得到除去自己以外的行业内其他公司的资产总和
bysort industry:egen n_code=count(code)  //得到行业内公司的数量总和
gen n_others=n_code-1 //得到行业内其他公司的数量
gen mean_otherasset=other_asset/n_others // 得到不包括自己在内的行业资产均值
二维码

扫码加我 拉你入群

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

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

2015-3-18 13:56:16
yunhu1989 发表于 2015-3-18 11:38
例如:
code     asset      industry     
1            100          A            
if code ~=_n
二维码

扫码加我 拉你入群

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

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

2015-3-18 15:22:31
xiongjerry 发表于 2015-3-18 13:56
if code ~=_n
谢谢!如果还有一列是year,mean_asset的值是同行业同年度的其他公司的asset均值,该怎么做呢?
二维码

扫码加我 拉你入群

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

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

2015-3-18 15:58:49
yunhu1989 发表于 2015-3-18 15:22
谢谢!如果还有一列是year,mean_asset的值是同行业同年度的其他公司的asset均值,该怎么做呢?
如果有年份的话,只要在我上面写的代码中bysort industry替换为bysort year industry。
二维码

扫码加我 拉你入群

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

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

2015-3-18 16:01:13
吉召 发表于 2015-3-18 15:58
如果有年份的话,只要在我上面写的代码中bysort industry替换为bysort year industry。
感谢帮助!我去试一下
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群