[R] poisson mean hypothesis

Thomas Lumley tlumley at u.washington.edu
Mon Sep 12 16:26:37 CEST 2005


Use ppois(x,lambda), which gives P(X<=x) for mean=lambda.

Eg: lower one-sided test for observing no events with mean of 3.4
> ppois(0,3.4)
[1] 0.03337327

upper one-sided test for observing 8 events with a mean of 3.4 (need the 
-1 to include 8 in the rejection region)

> ppois(8-1,3.4,lower.tail=FALSE)
[1] 0.02307394

If you want an exact confidence interval there is a formula involving the 
quantiles of the gamma distribution (ie the qgamma() function) that I 
can't remember off hand. It might even be Garwood's formula.


 	-thomas



On Mon, 12 Sep 2005, Jan Wijffels wrote:

> Dimitris,
> Thanks for the test. But you are using a normal approximation to the
> poisson distribution. This is not applicable in my case. I was more
> looking for an exact test. Probably based on Garwood's (1936) confidence
> interval. If there is already an R implementation available, than this
> would be helpful for me.
>
> Jan
>
> -----Original Message-----
> From: Dimitris Rizopoulos [mailto:dimitris.rizopoulos at med.kuleuven.be]
> Sent: maandag 12 september 2005 11:33
> To: Jan Wijffels
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] poisson mean hypothesis
>
> you could use something like the following (in case of two-group
> comparisons make the proper adjustements):
>
> pois.test <- function(x, alternative = c("two.sided", "less",
> "greater"), mu){
>    alternative <- match.arg(alternative)
>    if (missing(mu) || (length(mu) != 1 || is.na(mu)))
>        stop("'mu' must be a single number")
>    nx <- length(x)
>    mu.x <- mean(x)
>    stat <- (mu.x - mu) / sqrt(mu.x/nx)
>    p.value <- switch(alternative,
>        "two.sided" = 2 * pnorm(-abs(stat)),
>        "less" = pnorm(stat),
>        "greater" = pnorm(stat, lower = FALSE))
>    list("sample mean" = mu.x, "null mean" = mu, "alternative" =
> alternative,
>            statistic = stat, p.value = p.value)
> }
> ################
>
> y <- rpois(50, 5)
> pois.test(y, alt = "g", mu = 4)
>
> y <- rpois(30, 15)
> pois.test(y, alt = "l", mu = 16)
>
>
> I hope it helps.
>
> Best,
> Dimitris
>
> ----
> Dimitris Rizopoulos
> Ph.D. Student
> Biostatistical Centre
> School of Public Health
> Catholic University of Leuven
>
> Address: Kapucijnenvoer 35, Leuven, Belgium
> Tel: +32/16/336899
> Fax: +32/16/337015
> Web: http://www.med.kuleuven.be/biostat/
>     http://www.student.kuleuven.be/~m0390867/dimitris.htm
>
>
> ----- Original Message -----
> From: "Jan Wijffels" <Jan.Wijffels at ucs.kuleuven.be>
> To: <r-help at stat.math.ethz.ch>
> Sent: Monday, September 12, 2005 10:01 AM
> Subject: [R] poisson mean hypothesis
>
>
>> Dear R-users,
>> Is there a way to get p-values for a one-sided hypothesis test about
>> a
>> poisson mean?
>>
>> Thanks,
>>
>> Jan Wijffels
>> University Center for Statistics
>> W. de Croylaan 54
>> 3001 Heverlee
>> Belgium
>> tel: +32 (0)16 322784
>> fax: +32 (0)16 322831
>> <http://www.kuleuven.be/ucs> http://www.kuleuven.be/ucs
>>
>>
>>
>> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide!
>> http://www.R-project.org/posting-guide.html
>>
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
>
>
> Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle




More information about the R-help mailing list