The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
The twoxtwo
package provides a collection of functions
to display, summarize, and analyze data in two-by-two contingency
tables. Statistical analysis functions are oriented towards
epidemiological investigation of exposure/outcome relationships.
## install.packages("devtools")
::install_github("vpnagraj/twoxtwo", build_vignettes = TRUE) devtools
twoxtwo()
: Construct twoxtwo
objectodds_ratio()
: Estimate odds ratio and confidence
intervalrisk_ratio()
: Estimate risk ratio and confidence
intervalrisk_diff()
: Estimate risk difference and confidence
intervalfisher()
: Perform Fisher’s exact testchisq()
: Perform Pearson’s chi-squared testarp()
: Estimate attributable risk proportion (ARP) and
confidence intervalparp()
: Estimate population attributable risk
proportion (PARP) and confidence intervalein()
: Estimate exposure impact number (EIN) and
confidence intervalcin()
: Estimate case impact number (CIN) and confidence
intervalecin()
: Estimate exposed cases impact number (ECIN) and
confidence intervalsummary.twoxtwo()
: Summarize twoxtwo
objectprint.twoxtwo()
: Print twoxtwo
objectdisplay()
: Render twoxtwo
table contents
as a knitr::kable
First load twoxtwo
and dplyr
to help prep
data:
library(twoxtwo)
library(dplyr)
Next create a object with S3 class twoxtwo
. For this
example, use the twoxtwo::titanic
dataset. Note that
“exposure” and “outcome” variables must each be binary variables:
<-
crew_2x2 %>%
titanic twoxtwo(.data = ., exposure = Crew, outcome = Survived)
crew_2x2# | | |OUTCOME |OUTCOME |
# |:--------|:----------|:------------|:-----------|
# | | |Survived=Yes |Survived=No |
# |EXPOSURE |Crew=TRUE |212 |673 |
# |EXPOSURE |Crew=FALSE |499 |817 |
The twoxtwo
class has its own
summary.twoxtwo()
method that computes effect measures
(odds ratio, risk ratio, and risk difference):
summary(crew_2x2)
#
# | | |OUTCOME |OUTCOME |
# |:--------|:----------|:------------|:-----------|
# | | |Survived=Yes |Survived=No |
# |EXPOSURE |Crew=TRUE |212 |673 |
# |EXPOSURE |Crew=FALSE |499 |817 |
#
#
# Outcome: Survived
# Outcome + : Yes
# Outcome - : No
#
# Exposure: Crew
# Exposure + : TRUE
# Exposure - : FALSE
#
# Number of missing observations: 0
#
# Odds Ratio: 0.516 (0.426,0.624)
# Risk Ratio: 0.632 (0.551,0.724)
# Risk Difference: -0.14 (-0.178,-0.101)
Individual measures of effect, hypothesis tests, and impact numbers
can be calculated using the twoxtwo
object. For
example:
%>%
crew_2x2 odds_ratio()
# # A tibble: 1 x 6
# measure estimate ci_lower ci_upper exposure outcome
# <chr> <dbl> <dbl> <dbl> <chr> <chr>
# 1 Odds Ratio 0.516 0.426 0.624 Crew::TRUE/FALSE Survived::Yes/No
%>%
crew_2x2 chisq()
# # A tibble: 1 x 9
# test estimate ci_lower ci_upper statistic df pvalue exposure outcome
# <chr> <lgl> <lgl> <lgl> <dbl> <int> <dbl> <chr> <chr>
# 1 Pearson'… NA NA NA 46.5 1 8.97e-12 Crew::T… Surviv…
Note that data analysis can also be performed without first creating
the twoxtwo
object:
%>%
titanic odds_ratio(.data = ., exposure = Crew, outcome = Survived)
# # A tibble: 1 x 6
# measure estimate ci_lower ci_upper exposure outcome
# <chr> <dbl> <dbl> <dbl> <chr> <chr>
# 1 Odds Ratio 0.516 0.426 0.624 Crew::TRUE/FALSE Survived::Yes/No
%>%
titanic chisq(.data = ., exposure = Crew, outcome = Survived)
# # A tibble: 1 x 9
# test estimate ci_lower ci_upper statistic df pvalue exposure outcome
# <chr> <lgl> <lgl> <lgl> <dbl> <int> <dbl> <chr> <chr>
# 1 Pearson'… NA NA NA 46.5 1 8.97e-12 Crew::T… Surviv…
The package includes vignettes to describe usage in more detail.
For details on the twoxtwo
data structure and
demonstration of basic usage:
vignette("basic-usage", package = "twoxtwo")
For formulas and examples of how to calculate measures of effect:
vignette("measures-of-effect", package = "twoxtwo")
For information on hypothesis testing functionality in the package:
vignette("hypothesis-testing", package = "twoxtwo")
For formulas and demonstration of attributable fraction and impact number calculations:
vignette("af-impact", package = "twoxtwo")
Please use GitHub issues to report bugs or request features. Contributions will be reviewed via pull requests.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.