My apologies for the blank message.
Here is how I created a tornado diagram for a recent public
presentation.
clear
input input low high mean
1 1.6 2.2 1.9
2 1.5 2.3 1.9
5 2.9 0.01 1.9
3 1.0 2.9 1.9
4 0.5 3.2 1.9
end
label var input "Input"
label var low "Low value"
label var high "High value"
label var mean "Mean"
label define inputlbl ///
1 "Annual Donations in U.S." 2 "Seroprevalence" ///
5 "Sensitivity of Test" 3 "Exposures per Donation" 4
"Probability of Transmission"
label val input inputlbl
gen sens = high-low
sort sens
local ml1 = (2.2+1.9)/2
local mh1 = (1.6+1.9)/2
local ml2 = (2.3+1.9)/2
local mh2 = (1.5+1.9)/2
local ml3 = (2.9+1.9)/2
local mh3 = (1.0+1.9)/2
local ml4 = (3.2+1.9)/2
local mh4 = (0.5+1.9)/2
local ml5 = (2.9+1.9)/2
local mh5 = (0+1.9)/2
twoway ///
(rbar low mean input, horizontal) ///
(rbar mean high input, horizontal), ///
ylabel(, val angle(horizontal)) xsize(7.1) ysize(5.2) scheme(sj)
///
xtitle(" " "Predicted Cases of Transfusion-Transmitted T.
Cruzi") ///
title("Sensitivity of Results to Inputs") subtitle("Test Once
Scenario") ///
legend(label(1 "Low Input Values") label(2 "High Input Values")
rows(2)) ///
text(5 `ml5' "93.5%", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(5 `mh5' "99.99%", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(4 `ml4' "5%", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(4 `mh4' "0.8%", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(3 `ml3' "3", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(3 `mh3' "1", box j(center) margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)) ///
text(2 1.4 "1:28,600", box margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)placement(9) j(right)) ///
text(2 2.4 "1:18,200", box margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)placement(3) j(left)) ///
text(1 1.5 "13.4 million", box margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)placement(9) j(right)) ///
text(1 2.4 "19 million", box margin(l+1 r+1 t+1 b+1)
fcolor(white) lcolor(white)placement(3) j(left))
Richard A. Forshee, Ph.D.
Senior Risk Assessment Expert
Office of Biostatistics & Epidemiology
FDA - Center for Biologics Evaluation and Research
1401 Rockville Pike HFM-210
Rockville, MD 20852
Phone: (301) 827-6042
Fax: (301) 827-3529
E-mail: [email protected]
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Eldon
Spackman
Sent: Wednesday, April 08, 2009 4:48 PM
To: [email protected]
Subject: st: Is it possible to create tornado diagrams in Stata?
I am undertaking a one-way sensitivity analysis and would like to report
the effect of an input range on the result. I have a table of a range
in results for each input and would like to display this graphically
using a tornado diagram. Any suggestions of how this might be
accomplished would be very helpful.
Thanks.
*
* 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/