twoSidedPValueFromDiscrete {Polyfit}R Documentation

Two sided P-value from discrete distribution

Description

Function to calculate a 2-sided p-value of an observation xobs for a finite discrete distribution

Prob(X = xobs) = probs[xobs + 1]

over the range xobs in (0, 1, ..., xmax) by "squaring off" the distribution to a continuous distribution

Usage

twoSidedPValueFromDiscrete(probs, xobs)

Arguments

probs

an array containing the probabilities that X takes the values 0, 1, ..., xmax

xobs

a single observed value of X

Details

Note that the returned 2-sided p-value contains a random component, i.e. a given set of input parameters returns a different result each run

Value

A real valued randomised p-value between 0 and 1. If xobs is generated with randomly with probability probs[xobs + 1] the returned value will be uniformly distributed on the interval [0, 1].

Author(s)

Conrad Burden

Examples

pr <- dbinom(0:5,size=5,prob=0.4)
xSample <- rbinom(10000,size=5,prob=0.4)
pvalues <- c()
for(x in xSample){
  pvalues <- c(pvalues, twoSidedPValueFromDiscrete(pr,x))
	}
hist(pvalues)

[Package Polyfit version 1.24.0 Index]