У меня есть данные, где есть много наблюдений по двум переменным, скажем rep78
и headroom
.
Я хочу взять среднее значение третьей переменной, скажем weight
в каждой ячейке rep78
+ headroom
.Для каждой категории headroom
я отдельно хочу изобразить (связанный точечный график) эти средние значения с rep78
на оси x.Я предполагаю, что более интуитивный способ думать об этом - заменить rep78
на year
и headroom
на state
.
Мне удалось получить то, что я хочу, с помощью кода ниже:
sysuse auto2, clear
bys rep78 headroom: egen mean_w=mean(weight)
twoway (scatter mean_w rep78 if headroom==1.5, connect(l)) ///
(scatter mean_w rep78 if headroom==2.0, connect(l)) ///
(scatter mean_w rep78 if headroom==2.5, connect(l)) ///
(scatter mean_w rep78 if headroom==3.0, connect(l)) ///
(scatter mean_w rep78 if headroom==3.5, connect(l)) ///
(scatter mean_w rep78 if headroom==4.0, connect(l)) ///
(scatter mean_w rep78 if headroom==4.5, connect(l)) ///
(scatter mean_w rep78 if headroom==5.0, connect(l)), ///
legend(label(1 "1.5") label(2 "2.0") label(3 "2.5") ///
label(4 "3.0") label(5 "3.5") label(6 "4.0") ///
label(7 "4.5") label(8 "5.0"))
Однако есть ли более простой (то есть более короткий) способ сделать это?
Я согласен с упрощением любой части этого кода.