Feb 11, 2016

Random graphs (57): Odds ratio plots


clear

// ART mothers
input str20 var or lb ub
agele30    . . .
age3039 4.25 3.872 4.668
agege40 14.23 12.746 15.893
foreign . . .
italian 1.69 1.534 1.865
unmarried . . .
married 2.41 2.239 2.597
marriedother 1.78 1.515 2.083
notemployed . . .
employed 1.22 1.132 1.318
loed . . .
mied 1.15 1.069 1.242
hied 1.17 1.077 1.266
prevlivebirth . . .
noprevlivebirth 7.63 7.055 8.248
nomiscarriage . . .
miscarriage 1.14 1.06 1.217
end

encode var, gen(var1)

recode var1 ( 3 =  1 "{bf:Age} ({it:Ref.} <= 30 y)") ///
            ( 1 =  2 "30{c 0150}39 y") ///
   ( 2 =  3 "40+ y") ///
   ( 5 =  4 "{bf:Citizenship} ({it:Ref.} foreign)") ///
   ( 7 =  5 "Italian") ///
   (17 =  6 "{bf:Marital status} ({it:Ref.} unmarried)") ///
   ( 9 =  7 "Married") ///
   (10 =  8 "Other marital status") ///
   (15 =  9 "{bf:Occ. status} ({it:Ref.} not employed)") ///
   ( 4 = 10 "Employed") ///
   ( 8 = 11 "{bf:Education} ({it:Ref.} low)") ///
   (11 = 12 "Medium") ///
   ( 6 = 13 "High") ///
   (16 = 14 "{bf:Previous live birth} ({it:Ref.} yes)") ///
   (14 = 15 "No") ///
   (13 = 16 "{bf:Previous miscarriage} ({it:Ref.} no)") ///
   (12 = 17 "Yes") ///
   , gen(var2)

eclplot or lb ub var2, horiz ///
                  ylabel(1(1)17, val) ///
                  xline(1) xlabel(1 (1) 10 15) xtitle("Odds ratio") xscale(log) ///
                  ytitle("Predictors") name(art_users, replace) //ysize(6) xsize(5.5)
clear

input str20 var or lb ub
noart . . . 
others 0.853 0.566 1.285
icsi 1.071 0.906 1.267
ivf 1.3 1.109 1.524
iui 0.977 0.723 1.318
ph 1.256 0.857 1.84
nomiscarriage  . . .  
miscarriage  1.591 1.542 1.641
previouslivebirth . . .
nopreviouslivebirth 1.031 1.003 1.061
loed . . .
mied 1.257 1.219 1.297
hied 1.997 1.916 2.081
notemployed . . .  
employed 1.066 1.032 1.102
unmarried  . . .
married 1.218 1.182 1.255
foreign . . .
italian 0.949 0.917 0.983
agege40  . . .
age3039 2.888 2.777 3.003
agele30 4.183 3.993 4.383
end 

encode var, gen(var1)

recode var1 ( 2 =  1 "{bf:Age} ({it:Ref.} 40+ y)") ///
            ( 1 =  2 "30{c 0150}39 y") ///
   ( 3 =  3 "<= 30 y") ///
   ( 5 =  4 "{bf:Citizenship} ({it:Ref.} foreign)") ///
   ( 8 =  5 "Italian") ///
   (22 =  6 "{bf:Marital status} ({it:Ref.} unmarried)") ///
   (12 =  7 "Married") ///
       (18 =  8 "{bf:Occ. status} ({it:Ref.} not employed)") ///
   ( 4 =  9 "Employed") ///
   (11 = 10 "{bf:Education} ({it:Ref.} low)") ///
   (13 = 11 "Medium") ///
   ( 6 = 12 "High") ///
   (21 = 13 "{bf:Previous live birth} ({it:Ref.} yes)") ///
   (17 = 14 "No") ///
   (16 = 15 "{bf:Previous miscarriage} ({it:Ref.} no)") ///
   (14 = 16 "Yes") ///
   (15 = 17 "{bf:Conception method} ({it:Ref.} natural)") ///
   (20 = 18 "Pharmacological") ///
   ( 9 = 19 "IUI") ///
   (10 = 20 "IVF") ///
   ( 7 = 21 "ICSI") ///
   (19 = 22 "Others") ///
      , gen(var2)


eclplot or lb ub var2, horiz ///
                  ylabel(1(1)22, val) ///
                  xline(1) xlabel(0.6 (1) 5) xtitle("Odds ratio") xscale(log) ///
                  ytitle("Predictors") name(livebirth, replace)