xmulti: Perform Multinomial Goodness-Of-Fit Test By Full Enumeration

Description Usage Arguments Value Examples

View source: R/xmulti.R

Description

Use xmulti to compute a P value to test whether a set of counts fits a specific multinomial distribution. It does this by examining all possible outcomes with the same total count and determining the total (multinomial) probability of those cases which deviate from the expectation by at least as much as the observed. Please see the vignette for more.

Usage

1
2
xmulti(obs, expr, statName = "LLR", histobins = F, histobounds = c(0, 0),
  showCurve = T, detail = 1, safety = 1e+09)

Arguments

obs

vector containing the observed numbers. All are non-negative integers summing to > 0.

expr

vector containing expectation. The length should be the same as that of obs and they should be non-negative summing to > 0. They need not be integers or sum to one.

statName

name of the test statistic to use as a measure of how deviant an observation is from the expectation. The choices are: “LLR” for the log-likelihood ratio, “Prob” for the probability, “Chisq” for the chisquare statistic.

histobins

specifies histogram plot. If set to 0, F or FALSE no histogram is plotted. If set to 1 or T or TRUE a histogram with 500 bins will be plotted. If set to a number > 1 a histogram with that number of bins is plotted.

histobounds

vector of length 2 indicating the bounds for the histogram, if any. If unspecified, bounds will be determined to include about 99.9 percent of the distribution.

showCurve

should an asymptotic curve be drawn over the histogram?

detail

how much detail should be reported concerning the P value. If 0, nothing is printed for cases where the function is used programmatically. Minimal information is printed if detail is set to 1, and additional information if it is set to 2.

safety

a large number, such as one billion, to set a limit on how many samples will be examined. This limit is there to avoid long computations.

Value

xmulti returns a list with the following components:

$ obs

the observed numbers used as imput

$ expr

expected ratios

$ statType

which test statistic was used

$ pLLR

the P value with LLR as the test statistic

$ pProb

the P value with the multinomial probability as test statistic

$ pChi

the P value with the chisquare as test statistic

$ observedLLR

the value of LLR statistic for these data

$ observedProb

the multinomial probability of the observed data under the null hypothesis

$ observedChi

observed value of the chi square statistic

$ histobins

number of bins in the histogram (suppressed if zero)

$ histobounds

range in histogram (suppressed if not used)

$ histoData

data for histogram (suppressed if not used) Length is histobins

$ asymptotoc.p.value

the P value obtained from the classical asymptotic test

$ cases.examined

the total number of possible tables

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#
#One of Gregor Mendel's crosses produced four types of pea seeds in the numbers:
#
peas <- c(315, 108, 101, 32)
#
#and he expected them to appear in the ratio of 9:3:3:1 according to his genetic model.
#
expected <- c(9, 3, 3, 1)
#
#Test Mendel's theory using
#
xmulti(peas, expected)
#
#In this example, the number of cases examined was 28956759,
#and it probably took your computer less than half a second.
#To see a histogram of the likelihood ratio statistic, use:
#
xmulti(peas, expected, histobins = TRUE)
#
#The red areas of the histogram represent those outcomes deviating from the expected 9:3:3:1 ratio 
#at least as much as the observed numbers. (Much has been made of the tendency for Mendel's data 
#to fit the expectations better than expected!)
#If you wish to use the standard chisquare statistic as a measure of goodness-of-fit instead 
#of the LLR, use:
#
xmulti(peas, expected, statName="Chisq", histobins=TRUE)

Example output

P value (LLR) = 0.9261

P value (LLR) = 0.9261

P value (Chisq) = 0.9272

XNomial documentation built on May 2, 2019, 12:35 p.m.

Related to xmulti in XNomial...