Making expression for contingency table and goodness of fit tests

expr_contingency_tab(
data,
x,
y = NULL,
counts = NULL,
paired = FALSE,
ratio = NULL,
k = 2L,
conf.level = 0.95,
output = "expression",
...
)

## Arguments

data |
A dataframe (or a tibble) from which variables specified are to
be taken. A matrix or tables will **not** be accepted. |

x |
The variable to use as the **rows** in the contingency table. |

y |
The variable to use as the **columns** in the contingency table.
Default is `NULL` . If `NULL` , one-sample proportion test (a goodness of fit
test) will be run for the `x` variable. Otherwise association test will be
carried out. |

counts |
A string naming a variable in data containing counts, or `NULL`
if each row represents a single observation. |

paired |
Logical indicating whether data came from a within-subjects or
repeated measures design study (Default: `FALSE` ). If `TRUE` , McNemar's
test subtitle will be returned. If `FALSE` , Pearson's chi-square test will
be returned. |

ratio |
A vector of proportions: the expected proportions for the
proportion test (should sum to 1). Default is `NULL` , which means the null
is equal theoretical proportions across the levels of the nominal variable.
This means if there are two levels this will be `ratio = c(0.5,0.5)` or if
there are four levels this will be `ratio = c(0.25,0.25,0.25,0.25)` , etc. |

k |
Number of digits after decimal point (should be an integer)
(Default: `k = 2L` ). |

conf.level |
Scalar between 0 and 1. If unspecified, the defaults return
`95%` lower and upper confidence intervals (`0.95` ). |

output |
If `"expression"` , will return expression with statistical
details, while `"dataframe"` will return a dataframe containing the
results. |

... |
Additional arguments (currently ignored). |

## Value

Expression for contingency analysis (Pearson's chi-square test for
independence for between-subjects design or McNemar's test for
within-subjects design) or goodness of fit test for a single categorical
variable.

## Details

For more details about how the effect sizes and their confidence
intervals were computed, see documentation in `?effectsize::cramers_v`

and
`?effectsize::cohens_g`

.

## References

For more details, see-
https://indrajeetpatil.github.io/statsExpressions/articles/stats_details.html

## Examples

#> Warning: Chi-squared approximation may be incorrect

#> paste(chi["Pearson"]^2, "(", "2", ") = ", "8.74", ", ", italic("p"),
#> " = ", "0.013", ", ", widehat(italic("V"))["Cramer"], " = ",
#> "0.46", ", CI"["95%"], " [", "0.00", ", ", "0.78", "]", ", ",
#> italic("n")["obs"], " = ", 32L)

#> paste(chi["gof"]^2, "(", "3", ") = ", "278.96", ", ", italic("p"),
#> " = ", "3.56e-60", ", ", widehat(italic("V"))["Cramer"],
#> " = ", "0.27", ", CI"["95%"], " [", "0.22", ", ", "0.32",
#> "]", ", ", italic("n")["obs"], " = ", 592L)