Pvalue.norm.sim {TeachingDemos}R Documentation

Simulate P-values

Description

Simulate and plot p-values from a normal or binomial based test under various conditions. When all the assumptions are true, the p-values should follow an approximate uniform distribution. These functions show that along with how violating the assumptions changes the distribution of the p-values.

Usage

Pvalue.norm.sim(n = 50, mu = 0, mu0 = 0, sigma = 1, sigma0 = sigma,
     test= c("z", "t"), alternative = c("two.sided", "less", "greater", "<>",
           "!=", "<", ">"), alpha = 0.05, B = 10000)
Pvalue.binom.sim(n=100, p=0.5, p0=0.5, test=c('exact','approx'),
                            alternative=c('two.sided', 'less', 'greater',
                            '<>','!=','<','>'),
                            alpha=0.05, B=1000)
run.Pvalue.norm.sim()
run.Pvalue.binom.sim()

Arguments

n

Sample Size for each simulated dataset

mu

Simulation mean for samples

mu0

Hypothesized mean for tests

sigma

Simulation SD for samples

sigma0

Hypothesized SD for tests, if blank or missing, use the sample SD in the tests

p

Simulation proportion for samples

p0

Hypothesized proportion for tests

test

Which test to use, "z" or "t" tests for normal, "exact" (binomial) or "approx" (normal approximation) for binomial

alternative

Direction for alternative hypothesis

alpha

alpha level for test (optional)

B

Number of simulated datasets

Details

These functions generate B samples from either a normal or binomial distribution, then compute the P-values for the test of significance on each sample and plot the P-values.

The run.Pvalue.norm.sim and run.Pvalue.binom.sim functions are GUI wrappers for the other 2 functions allowing you to change the parameters and click on "refresh" to run a new set of simulations.

Using NA for sigma0 will result in the sample standard deviations being used (leave blank in the GUI).

When the simulation conditions and the hypothesized values match, the distributions of the p-values will be approximately uniform. Changing the parameter of interest will show the idea of power. Changing the other parameters can show the effects of assumptions not being met.

Value

The P-values are invisibly returned.

Note

Note: the 2-sided p-values for the binomial may not match the results from binom.test and prop.test. The method used here is an approximation for speed.

Author(s)

Greg Snow, 538280@gmail.com

References

Murdock, D, Tsai, Y, and Adcock, J (2008) _P-Values are Random Variables_. The American Statistician. (62) 242-245.

See Also

t.test, z.test, binom.test, prop.test, tkexamp

Examples

 if(interactive()) {
  run.Pvalue.norm.sim()
  run.Pvalue.binom.sim()
}

[Package TeachingDemos version 2.13 Index]