今天有个小伙伴问了这样一个问题:
如何计算每年每个行业内,小于该企业对应值的所有企业的均值?
这个问题可以这样解决,我准备了一个示例数据:
use data, clear |
假如这里我们想计算每年每个行业内,小于每个企业的工业总产值_当年价格千元值的企业均值。由于 工业总产值_当年价格千元 变量可能有相同的(这个示例数据中没有),所以我们先去除重复的:
use data, clear |
然后我们把数据按照 年份, 行业门类名称, 工业总产值_当年价格千元 排序:
gsort 年份 行业门类名称 工业总产值_当年价格千元 |
这样,工业总产值 变量就是从小到大的顺序排列了,然后计算累加:
bysort 年份 行业门类名称: gen cumsum = sum(工业总产值_当年价格千元) |
因为已经按照从小到大的顺序排列了,并且去除了重复值,所以累加值减去自身就是比自己小的值的总和了:
bysort 年份 行业门类名称: gen sum = cumsum - 工业总产值_当年价格千元 |
然后除以对应的数量就是要求的均值了:
bysort 年份 行业门类名称: gen n = _n - 1 |
最后再和原始数据匹配即可:
*- 和原始数据匹配 |
点击这里跳转到 RStata 短书平台获取附件:Stata:如何计算每年每个行业内,小于该企业对应值的所有企业的均值
评论