この節の作者: Ravi Selker, Jonathon Love, Damian Dropmann

Paired Samples Contingency Tables (contTablesPaired)

Description

McNemar test

Usage

contTablesPaired(
  data,
  rows,
  cols,
  counts = NULL,
  chiSq = TRUE,
  chiSqCorr = FALSE,
  exact = FALSE,
  pcRow = FALSE,
  pcCol = FALSE,
  formula
)

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 X²
chiSqCorr TRUE or FALSE (default), provide X² 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
formula (optional) the formula to use, see the examples

Output

A results object containing:

results$freqs a proportions table
results$test a table of test results

Tables can be converted to data frames with asDF or as.data.frame(). For example:

results$freqs$asDF

as.data.frame(results$freqs)

Examples

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
#  -----------------------------------------------------
#    X²                           17.4     1    < .001
#    X² 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)