/* DATE 4\24\91 */ /* EXACT POISSON PROBABILITY Joseph Hilbe - STB */ program define epoisson version 2.1 if "%_3"=="" { di in re "Type 3 arguments:" di in re " pop ratio observations cases" exit 198 } drop _all quietly { set obs %_3 if (%_3<1) { set obs 1 gen double expect=%_1*%_2 di in gr "Exact poisson probability => " in ye exp(-expect) } if (%_3>0) { gen double expect=%_1*%_2 gen double prob=exp(-expect) gen double cum=1 gen num=[_n-1]+1 while num-1<_N { replace cum=cum*num replace num=num+1 } replace prob=(expect^%_3)*(exp(-expect))/cum di in gr "Exact poisson probability => " in ye prob } } drop _all end