在Stata中采取条件均值

Jac*_*890 2 statistics stata

假设我有一个Stata数据集,它有两个变量:typeprice.type每次观察的值是1到10之间的数字.

我想添加第三个值,即该price变量的平均值type.因此,例如,如果第一个观察type值为3和price10的a,那么我想添加第三个值,它是= 3 price的所有观测值的平均值type.

我怎么能在Stata做到这一点?

eri*_*oth 6

这是一种更简单有效的不同方法.如果你有一个大数据集,这将比aTron建议的多步循环更快,这种方法适应你的"类型"变量范围的变化(如果你的数据集大小改变,你不必返回代码并更改forvalues命令中的范围).

1)创建一个假数据集

clear
input type price
1 1000
2 3200
3 5000
4 1200
5 1000
1 4000
2 2000
3 4000
4 1200
5 2000
end
Run Code Online (Sandbox Code Playgroud)

2)生成的平均price通过type

bysort type: egen meanprice = mean(price)

li type price meanprice, sepby(type) 
Run Code Online (Sandbox Code Playgroud)