[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

From |
[email protected] |

To |
[email protected] |

Subject |
RE: st: returning a value from a program |

Date |
Wed, 21 Dec 2005 12:38:15 EST |

I noticed the the discussion regarding exact poisson probabilities on the list. I get the digest only, so have had to respond later. I did indeed make a mistake with naming two programs by the same name. The current -cpoisson is a censored poisson written using version 9.1 code. It is found on the SSC site. I had forgotten that I wrote another back in 1991. The -cpoisson- I wrote for STB-1 in May 1991 calculated cumulative poisson probabilities. However, there is another program that was published together with it that calculates exact poisson probabilities, called -epoisson.ado-. Is this more of what you want? One simply provides the population ratio (mu), the number of observations, and the number of cases. The exact poisson probability is thereupon displayed. An example is provided in the help file, which can be downloaded from the web. I have pasted the file code into this email below. Note that it uses version 2.1 code and creates new variables, and at the end erases all variables in memory. Like the old -cpoisson- program, it was meant to be used without anything else in memory. As I recall, Stata had not yet developed the temp variable class. It didn't come out until version 3. And there may have been problems using the program if data was already in memory. Instead of the -drop _all - code, you can replace it with dropping just those variables that were created by the program. Of course, it is preferable to just rewrite it with tempvars and in current code. This would eliminate any such problems. Isn't there another function in Stata that calculates exact and cumulative poisson probabilities? These were the first two programs written for the STB some 16 years ago. I haven't checked, but it seems that Stata should have a function for it that can be used in your program. Joe Hilbe /* 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 * * For searches and help try: * http://www.stata.com/support/faqs/res/findit.html * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

- Prev by Date:
**st: Reference for cluster standard errors with FIML selection model** - Next by Date:
**Re: st: Reference for cluster standard errors with FIML selection model** - Previous by thread:
**st: Reference for cluster standard errors with FIML selection model** - Next by thread:
**Re: st:** - Index(es):

© Copyright 1996–2024 StataCorp LLC | Terms of use | Privacy | Contact us | What's new | Site index |