* ssc install egenmore
sysuse nlsw88, clearif inlist(occupation,9,10,12)
drop
= mean(wage), by(occupation)
egen mwage = axis(mwage occupation) , label(occupation)
egen occ
///
twoway scatter occ mwage || dropline mwage occ, horizontal ///
|| , ylab(1/10, valuelabel angle(0)) legend(off)
// utiliser des variables temporaires si possible drop mwage occ
Commande axis
(NJ.Cox)
- Comme la fonction
group
(egen), elle va créer une variable ordinale occ à partir des valeurs prises par une variable, ici mwage. - Elle va affecter les labels de la variable occupation à la variable ordinale.
J’en ai profité pour découvrir l’option labelvalue
de x/ylabel()
qui permet d’affecter directement les labels d’une variable catégorielle sur un axe [A documenter dans la formation].
Si on souhaite mettre comme valeur de base la moyenne des salaires moyens selon le groupe professionnel, on utilise simple l’option base()
à laquelle on affecte la valeur moyenne des salaires récupérée en amont dans une macro:
qui sum mwage, d= `r(mean)'
local b tw dropline mwage occ, horizontal mlc(black) mlw(*.2) base(`b') ///
|| , ylab(1/10, valuelabel angle(0)) legend(off) ///
xline(`b', noext lc(black)) title("Lollipop", pos(11)) ///
xtitle("Salaire moyen") ytitle("Emploi")
[A faire]: les graphiques de type haltère. Il faudra passer par un collapse
, mais le gain en terme de programmation est également non négligeable.