`binom_test.Rd`

Performs exact binomial test and pairwise comparisons following a
significant exact multinomial test. Wrapper around the R base function
`link[stats]{binom.test}()`

that returns a data frame as a result.

binom_test(x, n, p = 0.5, alternative = "two.sided", conf.level = 0.95, detailed = FALSE) pairwise_binom_test(x, p.adjust.method = "holm", alternative = "two.sided", conf.level = 0.95) pairwise_binom_test_against_p(x, p = rep(1/length(x), length(x)), p.adjust.method = "holm", alternative = "two.sided", conf.level = 0.95)

x | numeric vector containing the counts. |
---|---|

n | number of trials; ignored if |

p | a vector of probabilities of success. The length of p must be the same as the number of groups specified by x, and its elements must be greater than 0 and less than 1. |

alternative | indicates the alternative hypothesis and must be
one of |

conf.level | confidence level for the returned confidence interval. |

detailed | logical value. Default is FALSE. If TRUE, a detailed result is shown. |

p.adjust.method | method to adjust p values for multiple comparisons. Used when pairwise comparisons are performed. Allowed values include "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none". If you don't want to adjust the p value (not recommended), use p.adjust.method = "none". |

return a data frame containing the p-value and its significance. with some the following columns:

`group, group1, group2`

: the categories or groups being compared.`statistic`

: the number of successes.`parameter`

: the number of trials.`p`

: p-value of the test.`p.adj`

: the adjusted p-value.`method`

: the used statistical test.`p.signif, p.adj.signif`

: the significance level of p-values and adjusted p-values, respectively.`estimate`

: the estimated probability of success.`alternative`

: a character string describing the alternative hypothesis.`conf.low,conf.high`

: Lower and upper bound on a confidence interval for the probability of success.

The **returned object has an attribute called args**, which is a list
holding the test arguments.

`binom_test`

: performs exact binomial test. Wrapper around the R base function`binom.test`

that returns a dataframe as a result.`pairwise_binom_test`

: performs pairwise comparisons (binomial test) following a significan exact multinomial test.`pairwise_binom_test_against_p`

: performs pairwise comparisons (binomial test) following a significan exact multinomial test for given probabilities.

# Exact binomial test #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Data: 160 mice with cancer including 95 male and 65 female # Q1: Does cancer affect more males than females? binom_test(x = 95, n = 160)#> # A tibble: 1 x 6 #> n estimate conf.low conf.high p p.signif #> * <dbl> <dbl> <dbl> <dbl> <dbl> <chr> #> 1 160 0.594 0.513 0.671 0.0216 *# => yes, there are a significant difference # Q2: compare the observed proportion of males # to an expected proportion (p = 3/5) binom_test(x = 95, n = 160, p = 3/5)#> # A tibble: 1 x 6 #> n estimate conf.low conf.high p p.signif #> * <dbl> <dbl> <dbl> <dbl> <dbl> <chr> #> 1 160 0.594 0.513 0.671 0.872 ns# => there are no significant difference # Multinomial test #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Data tulip <- c(red = 81, yellow = 50, white = 27) # Question 1: are the color equally common ? # this is a test of homogeneity res <- multinom_test(tulip) res#> # A tibble: 1 x 2 #> p p.signif #> * <dbl> <chr> #> 1 0.000000711 ****#> # A tibble: 3 x 3 #> group observed expected #> <chr> <dbl> <dbl> #> 1 red 81 52.7 #> 2 yellow 50 52.7 #> 3 white 27 52.7# Pairwise comparisons between groups pairwise_binom_test(tulip, p.adjust.method = "bonferroni")#> # A tibble: 3 x 9 #> group1 group2 n estimate conf.low conf.high p p.adj p.adj.signif #> * <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <chr> #> 1 red yellow 131 0.618 0.529 0.702 8.51e-3 2.55e-2 * #> 2 red white 108 0.75 0.657 0.828 1.91e-7 5.72e-7 **** #> 3 yellow white 77 0.649 0.532 0.755 1.17e-2 3.50e-2 *# Question 2: comparing observed to expected proportions # this is a goodness-of-fit test expected.p <- c(red = 1/2, yellow = 1/3, white = 1/6) res <- multinom_test(tulip, expected.p) res#> # A tibble: 1 x 2 #> p p.signif #> * <dbl> <chr> #> 1 0.903 ns#> # A tibble: 3 x 3 #> group observed expected #> <chr> <dbl> <dbl> #> 1 red 81 79 #> 2 yellow 50 52.7 #> 3 white 27 26.3# Pairwise comparisons against a given probabilities pairwise_binom_test_against_p(tulip, expected.p)#> # A tibble: 3 x 10 #> group observed expected n estimate conf.low conf.high p p.adj #> * <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> #> 1 red 81 79 158 0.513 0.432 0.593 0.811 1 #> 2 yell… 50 52.7 158 0.316 0.245 0.395 0.674 1 #> 3 white 27 26.3 158 0.171 0.116 0.239 0.915 1 #> # … with 1 more variable: p.adj.signif <chr>