Paired Samples Contingency Tables
McNemar test
Example usage
dat <- data.frame(
`1st survey` = c('Approve', 'Approve', 'Disapprove', 'Disapprove'),
`2nd survey` = c('Approve', 'Disapprove', 'Approve', 'Disapprove'),
`Counts` = c(794, 150, 86, 570),
check.names=FALSE)
contTablesPaired(formula = Counts ~ `1st survey`:`2nd survey`, data = dat)
#
# PAIRED SAMPLES CONTINGENCY TABLES
#
# Contingency Tables
# ────────────────────────────────────────────────
# 1st survey Approve Disapprove Total
# ────────────────────────────────────────────────
# Approve 794 150 944
# Disapprove 86 570 656
# Total 880 720 1600
# ────────────────────────────────────────────────
#
#
# McNemar Test
# ─────────────────────────────────────────────────────
# Value df p
# ─────────────────────────────────────────────────────
# χ² 17.4 1 < .001
# χ² continuity correction 16.8 1 < .001
# ─────────────────────────────────────────────────────
#
# Alternatively, omit the left of the formula (`Counts`) from the
# formula if each row represents a single observation:
contTablesPaired(formula = ~ `1st survey`:`2nd survey`, data = dat)
Arguments
data | the data as a data frame |
rows | the variable to use as the rows in the contingency table (not necessary when providing a formula, see the examples) |
cols | the variable to use as the columns in the contingency table (not necessary when providing a formula, see the examples) |
counts | the variable to use as the counts in the contingency table (not necessary when providing a formula, see the examples) |
chiSq | TRUE (default) or FALSE, provide χ² |
chiSqCorr | TRUE or FALSE (default), provide χ² with continuity correction |
exact | TRUE or FALSE (default), provide an exact log odds ratio (requires exact2x2 to be installed) |
pcRow | TRUE or FALSE (default), provide row percentages |
pcCol | TRUE or FALSE (default), provide column percentages |
Returns
A results object containing:
results$freqs | a table |
results$test | a table |
Tables can be converted to data frames with asDF or as.data.frame(). For example:
results$freqs$asDF
as.data.frame(results$freqs)