%include catdata(wlfpart); options formchar="|----|+|---+=|-/\<>*"; proc format; value labor /* labor-force participation */ 1 ='Full-time' 2 ='Part-time' 3 ='Not working'; *-- Fit generalized logit model; proc logistic data=wlfpart; model labor = husinc children / link=glogit; output out=results p=predict xbeta=logit; data results; set results; drop r1-r4 region fulltime working; label predict='Fitted probability'; format children kids.; proc sort data=results; by children husinc _level_; *-- simple plot; proc plot data=results; plot predict * husinc = _level_ ; by children; *-- Curve labels; %label(data=results, x=husinc, y=predict, cvar=_level_, by=children, subset=last._level_, text=put(_level_, labor.), pos=2, out=labels1); *-- Panel labels; %label(data=results, x=20, y=0.85, by=children, subset=last.children, text=put(children, kids.), pos=2, size=2, out=labels2); data labels; set labels1 labels2; by children; title; goptions hby=0; proc gplot data=results; plot predict * husinc = _level_ / vaxis=axis1 hm=1 vm=1 anno=labels nolegend; by children; axis1 order=(0 to .9 by .1) label=(a=90); symbol1 i=join v=circle c=black; symbol2 i=join v=square c=red; symbol3 i=join v=triangle c=blue; run;