Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# st: SV: Combining ROC curves in one graph

 From Kim Oren Gradel <[email protected]> To "'[email protected]'" <[email protected]> Subject st: SV: Combining ROC curves in one graph Date Tue, 23 Aug 2011 12:30:20 +0200

```Dear Stata-users,

I have had the same problem, or at least a similar one, and I suggest a solution here:

I have four multivariable logistic regression models. Model 1 has the outcome variable + X variables, Model 2 = Model 1 + var1, Model 3 = Model 1 + var2, and Model 4 = Model 1 + var1 + var2. I wanted the ROC curves from each of these models in one graph and did the following:

/* Model 1: */
xi: logistic i.dod30 age i.kon i.charlindex i.bak i.afdtype_unik
lsens, gensens(sens1) genspec(spec1) replace nodraw
gen spec_1 = 1-spec1
/* Model 2: */
xi: logistic i.dod30 age i.kon i.charlindex i.bak i.afdtype_unik i.sepsis
lsens, gensens(sens2) genspec(spec2) replace nodraw
gen spec_2 = 1-spec2
/* Model 3: */
xi: logistic i.dod30 age i.kon i.charlindex i.bak i.afdtype_unik crp10
lsens, gensens(sens3) genspec(spec3) replace nodraw
gen spec_3 = 1-spec3
/* Model 4: */
xi: logistic i.dod30 age i.kon i.charlindex i.bak i.afdtype_unik i.sepsis crp10
lsens, gensens(sens4) genspec(spec4) replace nodraw
gen spec_4 = 1-spec4
/* This is admittedly primitive, but it works!!!!: */
gen line1=0
replace line1=1 if age>=60
gen line2 = line1

twoway (connect line1 line2, mcolor(black) xlabel(0(0.1)1) ylabel(0(0.1)1 , angle(horizontal)))  /*
*/ (scatter sens1 spec_1 , msymbol(p) mcolor(black) legend(off)) /*
*/ (scatter sens2 spec_2 , msymbol(p) mcolor(red)) /*
*/ (scatter sens3 spec_3 , msymbol(p) mcolor(green)) /*
*/ (scatter sens4 spec_4 , msymbol(p) mcolor(blue))

roctab refvar classvar

you must be able to use

logistics refvar classvar

Good luck

Kim

Epidemiologist, Senior DVM, PhD
The Danish Clinical Quality Improvement Programme
Centre for National Clinical Databases, South

OUH Odense University Hospital
Department of Quality and Research / HTA
Sdr. Boulevard 29, Entrance 101, 4th floor, DK-5000 Odense C
Tel: +45 65 41 17 03
Fax: +45 65 91 72 64
E-mail: [email protected]
Web: www.KCSinfo.dk

-----Oprindelig meddelelse-----
Fra: [email protected] [mailto:[email protected]] På vegne af Kim Peeters
Sendt: 19. august 2011 09:59
Til: Statalist
Emne: st: Combining ROC curves in one graph

Dear Stata-users,

I have plotted three ROC curves using

roctab x1 y1, graph name(rocgraph1) nodraw roctab x2 y2, graph name(rocgraph2) nodraw roctab x3 y3, graph name(rocgraph3) nodraw

How can I combine these three roclines into one graph. || or (...) do not seem to work.

Moreover, I would like to do the same thing after rocfit and rocplot:

rocfit x1 y1
rocplot, confband name(rocfit1) nodraw
rocfit x2 y2
rocplot, confband name(rocfit2) nodraw
rocfit x3 y3
rocplot, confband name(rocfit3) nodraw

P.S. I don't want to array the separately drawn graphs into one using graph combine. I just need one graph that contains all three ROC lines.

Best regards,
Kim
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```