tabodds: Tabulation to display odds

View source: R/tabodds.R

taboddsR Documentation

Tabulation to display odds

Description

tabodds generates cross-tabulation between two variables and display odds of failure var_case against a categorical explanatory variable var_exp. It is used with cross-sectional data.

Usage

tabodds(
  var_exp,
  var_case,
  data = NULL,
  na.rm = FALSE,
  rnd = 3,
  plot = TRUE,
  print.table = TRUE
)

Arguments

var_exp

Exposure variable.

var_case

Case or outcome variable should be binary vector.

data

a data frame object (Optional)

na.rm

A logical value to specify missing values, <NA> in the table

rnd

specify rounding of numbers. See round.

plot

logical value to display plots of rates across a categorical variable

print.table

logical value to display formatted outputs

Details

The variable var_case should coded 1 for case and 0 for non-case. A simple table illustrating cases and controls as well as odds for each category is generated.

Calculating Odds

OR = d1 x h0 / d0 x h1

Error Factor (EF)

EF = exp(1.96 x SE(log odds))

SE(log odds) = √{1/d + 1/h}

Author(s)

Myo Minn Oo (Email: dr.myominnoo@gmail.com | Website: https://myominnoo.github.io/)

References

  1. Essential Medical Statistics, Betty R. Kirwood, Second Edition

  2. Statistics Notes: The odds ratio; J Martin Bland, Douglas G Altman BMJ 2000;320:1468

Examples

## Not run: 

## Asthma Example (page 160, Essential Medical Statistics)
asthma <- expandTables(c(81, 995, 57, 867),
             exp_name = "Sex",
             exp_lvl = c("Women", "Man"),
             case_name = "Asthma",
             case_lvl = c("Yes", "No"))

## labelling
asthma <- labelData(asthma, "Hypothetical Data of Asthma Prevalence")
asthma <- labelVars(asthma,
    c(Sex, Asthma), c("Man or Woman", "Asthma or No Asthma"))

## Checking codebook
codebook(asthma)

## Odds
tabodds(Sex, Asthma, asthma)

## Odds ratios
mhodds(Sex, Asthma, asthma)

## The odds ratio, J Martin Bland, Douglas G Altman, BMJ 2000;320:1468
hay <- expandTables(c(141, 420, 928, 13525),
                    exp_name = "eczema",
                    exp_lvl = c("Yes", "No"),
                    case_name = "hayFever",
                    case_lvl = c("Yes", "No"))
hay <- labelData(hay, "hay fever and eczema in 11 year old children")
hay <- labelVars(hay,
                 c(eczema, hayFever),
                c("prevalence of eczema", "prevalence of hay fever"))


tabodds(eczema, hayFever, hay)
mhodds(eczema, hayFever, hay, "Yes")

## End(Not run)

potato-nathan/epiAssist documentation built on April 15, 2022, 11:32 a.m.