clear * set more off input byte y float x1 float x2 byte x3 0 -1.9 -5.3 -43 0 -1.5 3.9 -15 0 -0.1 -5.2 -32 0 0.5 27.5 8 0 0.8 -3 -12 0 0.8 -1.6 -2 0 0.9 3.4 1 0 2.3 23.4 14 1 -5.6 -13.1 -1 1 -5.3 -19.8 -33 1 -2.4 1.8 -9 1 -2.3 -7.4 4 1 -2 -5.7 -7 1 -1.7 -3.9 13 1 -0.6 -2.4 -7 1 -0.5 -14.5 -12 1 -0.1 -10.2 -5 1 -0.1 -9.9 -11 1 0.4 -17.2 -9 1 0.7 -10.7 -10 1 1.1 -4.5 -15 end generate double x1iqr = x1 / 2.6 generate double x2iqr = x2 / 8.6 generate double x3iqr = x3 / 11 firthlogit y x1iqr x2iqr x3iqr, or estimates store Full constraint define 1 x1iqr constraint define 2 x2iqr constraint define 3 x3iqr forvalues i = 1/3 { quietly firthlogit y x1iqr x2iqr x3iqr, constraints(`i') lrtest Full . } /* Agreement with Heinze, G. 2006. A comparative investigation of methods for logistic regression with separated or nearly separated data. _Statistics in Medicine_ 25:4216--26. (Table 1 of electronic preprint.) */ exit