The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
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[@]dogado.de.
The aim of matchedcc is to provide epidemiologists
using R with Stata-like analysis of matched case-control data. This
package has two functions, mcc()
and mcci()
,
which are direct analogues of Stata’s own mcc
and
mcci
commands.
You can install matchedcc from CRAN with:
install.packages("matchedcc")
You can also install the development version from GitHub with pak:
# install.packages("pak")
::pkg_install("simpar1471/matchedcc") pak
The functions in matchedcc are easy to use. To
demonstrate their use, we will use the mccxmpl
dataset,
which is included in matchedcc. This dataset has two
columns - cases
and controls
. In this dataset,
cases had experienced a heart attack, and cases and controls were
matched accordingly. Each column has only 1
or
0
values, which describe whether a case or control
encountered our exposure - in this case, drinking >6 cups of coffee
per day.
library(matchedcc)
head(matchedcc::mccxmpl)
#> case control
#> 1 1 1
#> 2 1 0
#> 3 0 1
#> 4 0 0
#> 5 1 1
#> 6 1 1
The mcc()
function will take vectors of 1
s
and 0
s and use these to run a matched case control
analysis:
mcc(cases = matchedcc::mccxmpl$case, controls = matchedcc::mccxmpl$control)
#> $data
#> Controls
#> Cases Unexposed Exposed Total
#> Unexposed 8 8 16
#> Exposed 3 8 11
#> Total 11 16 27
#>
#> $mcnemar_chi2
#>
#> McNemar's Chi-squared test
#>
#> data: mcc_table
#> McNemar's chi-squared = 2.2727, df = 1, p-value = 0.1317
#>
#>
#> $mcnemar_exact_p
#> Exact McNemar significance probability
#> 0.2265625
#>
#> $proportions
#> Proportion with factor
#> Cases Controls
#> 0.5925926 0.4074074
#>
#> $statistics
#> estimate [95% CI]
#> statistic estimate lower upper
#> difference 0.1851852 -0.08225420 0.4526246
#> ratio 1.4545455 0.89110096 2.3742568
#> rel. diff. 0.3125000 -0.02436881 0.6493688
#> odds ratio 2.6666667 0.64003641 15.6064036
The mcc()
function can also accept a 2x2 table with
matched case-control data, provided it is in the following format:
Cases | Controls | |
---|---|---|
Exposed | Unexposed | |
Exposed | a | b |
Unexposed | c | d |
<- table(matchedcc::mccxmpl$control,
mcc_table ::mccxmpl$case)
matchedccmcc(table = mcc_table)
#> $data
#> Controls
#> Cases Unexposed Exposed Total
#> Unexposed 8 8 16
#> Exposed 3 8 11
#> Total 11 16 27
#>
#> $mcnemar_chi2
#>
#> McNemar's Chi-squared test
#>
#> data: mcc_table
#> McNemar's chi-squared = 2.2727, df = 1, p-value = 0.1317
#>
#>
#> $mcnemar_exact_p
#> Exact McNemar significance probability
#> 0.2265625
#>
#> $proportions
#> Proportion with factor
#> Cases Controls
#> 0.5925926 0.4074074
#>
#> $statistics
#> estimate [95% CI]
#> statistic estimate lower upper
#> difference 0.1851852 -0.08225420 0.4526246
#> ratio 1.4545455 0.89110096 2.3742568
#> rel. diff. 0.3125000 -0.02436881 0.6493688
#> odds ratio 2.6666667 0.64003641 15.6064036
Last but not least, if you have individual cell counts from a 2x2
table, you can provide them to mcci()
:
mcci(a = 8, b = 8, c = 3, d = 8)
#> $data
#> Controls
#> Cases Unexposed Exposed Total
#> Unexposed 8 8 16
#> Exposed 3 8 11
#> Total 11 16 27
#>
#> $mcnemar_chi2
#>
#> McNemar's Chi-squared test
#>
#> data: mcc_table
#> McNemar's chi-squared = 2.2727, df = 1, p-value = 0.1317
#>
#>
#> $mcnemar_exact_p
#> Exact McNemar significance probability
#> 0.2265625
#>
#> $proportions
#> Proportion with factor
#> Cases Controls
#> 0.5925926 0.4074074
#>
#> $statistics
#> estimate [95% CI]
#> statistic estimate lower upper
#> difference 0.1851852 -0.08225420 0.4526246
#> ratio 1.4545455 0.89110096 2.3742568
#> rel. diff. 0.3125000 -0.02436881 0.6493688
#> odds ratio 2.6666667 0.64003641 15.6064036
The package is validated against Stata’s own outputs, using 1000
randomly generated mcci
runs from Stata. The code to
generate these can be seen in
/tests/testdata/run-stata-mcc.R
.
Parker S (2024). matchedcc: Stata-like matched case-control analysis. https://github.com/simpar1471/matchedcc/.
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.
Health stats visible at Monitor.