zero.test {vcdExtra} | R Documentation |
Score test for zero inflation in Poisson data
Description
Carries out a simple score test (van den Broek, 1995) for excess zeros in
an otherwise Poisson distribution of counts. It gives a
statistic on one degree of freedom.
Usage
zero.test(x)
Arguments
x |
A vector of non-negative counts, or a one-way frequency table of such counts. |
Details
The test first calculates the rate estimate from the mean,
.
The number of observed zeros,
is then compared with the expected
number,
, where
.
Then the test statistic is calculated by the formula:
This test statistic
has a distribution.
Value
Returns invisibly a list of three elements:
statistic |
Description of 'comp1' |
df |
Description of 'comp2' |
pvalue |
Upper tail p-value |
Author(s)
Michael Friendly
References
The original R code came from a Stackexchange question, https://stats.stackexchange.com/questions/118322/how-to-test-for-zero-inflation-in-a-dataset
Van den Broek, J. (1995). A Score Test for Zero Inflation in a Poisson Distribution. Biometrics, 51(2), 738-743. https://www.jstor.org/stable/2532959
Yang, Zhao, James W. Hardin, and Cheryl L. Addy (2010). Score Tests for Zero-Inflation in Overdispersed Count Data. Communications in Statistics - Theory and Methods 39 (11) 2008-2030. doi:10.1080/03610920902948228
Examples
# synthetic tests
zero.test(rpois(100, 1))
zero.test(rpois(100, 5))
# add some extra zeros
zero.test(c(rep(0, 20), rpois(100, 5)))
# Articles by Phd candidates
data(PhdPubs, package="vcdExtra")
zero.test(PhdPubs$articles)
phd.tab <- table(PhdPubs$articles)
zero.test(phd.tab)