Learn R Programming

testCompareR (version 1.1.0)

compareR: compareR

Description

Calculates descriptive statistics and performs statistical inference on two binary diagnostic tests in a single function call. Handles multiple comparisons using methods in `p.adjust()`.

Usage

compareR(
  df = NULL,
  test1 = NULL,
  test2 = NULL,
  gold = NULL,
  alpha = 0.05,
  margins = FALSE,
  multi_corr = "holm",
  cc = TRUE,
  dp = 1,
  sesp = TRUE,
  ppvnpv = TRUE,
  plrnlr = TRUE,
  conf.int = "contemporary",
  test.names = c("Test 1", "Test 2"),
  ...
)

Value

A list object summarising all calculated descriptive and inferential statistics.

Arguments

df

A data frame or matrix with 3 columns (test1, test2, gold). Flexible coding of positive and negative results permitted.

test1

Either a vector of values for Test 1 (if df is NULL) or a string or integer value to be used for subsetting df.

test2

Either a vector of values for Test 2 (if df is NULL) or a string or integer value to be used for subsetting df.

gold

Either a vector of values for the gold standard test (if df is NULL) or a string or integer value to be used for subsetting df.

alpha

An alpha value. Defaults to 0.05.

margins

A Boolean value indicating whether the contingency tables should have margins containing summed totals of rows and columns.

multi_corr

Method for multiple comparisons. Uses `p.adjust.methods`.

cc

A Boolean value indicating whether McNemar's test should be applied with continuity correction.

dp

Number of decimal places of output in summary tables. Defaults to 1.

sesp

A Boolean value indicating whether output should include sensitivity and specificity.

ppvnpv

A Boolean value indicating whether output should include positive and negative predictive values.

plrnlr

A Boolean value indicating whether output should include positive and negative likelihood ratios.

conf.int

A character string, either "contemporary" or "classic". Indicates whether function should use contemporary or classic statistical methods to calculate confidence intervals.

test.names

A vector of length two giving the names of the two different binary diagnostic tests. This argument is not relevant when testing a single binary diagnostic test.

...

Rarely needs to be used. Allows additional arguments to be passed to internal functions.

Details

Confidence intervals for prevalence, diagnostic accuracies and predictive values are calculated using the interval for binomial proportions described by Yu et al. (2014) by default. Setting conf.int = "classic" uses the Clopper-Pearson method. Confidence intervals for likelihood ratios are calculated using the methods recommended by Martín-Andrés and Álvarez-Hernández (2014). Hypothesis testing for diagnostic accuracies uses different methods depending on disease prevalence and number of participants or samples as described by Roldán-Nofuentes and Sidaty-Regad (2019). Global hypothesis testing for predictive values uses a method described by Roldán-Nofuentes et al. (2012), with subsequent individual tests (where indicated) performed using methods described by Kosinksi (2012). The methods for hypothesis testing- for likelihood ratios are taken from Roldán-Nofuentes & Luna del Castillo (2007).

An excellent summary of these methods is provided by Roldán-Nofuentes (2020) along with an open-source program (compbdt) licensed under GPL-2. This R package can be considered an extension of this work and is therefore distributed under the same license. Please consider citing Roldán-Nofuentes (2020) when you are citing this package.

References

Yu, Guo & Xu (2014) JSCS. 2014; 84:5,1022-1038 tools:::Rd_expr_doi("10.1080/00949655.2012.738211")

Clopper & Pearson (1934) Biometrika. 1934; 26,404-413 tools:::Rd_expr_doi("10.2307/2331986")

Martín Andrés & Álvarez Hernández (2014) Stat Comput. 2014; 24,65–75 tools:::Rd_expr_doi("10.1007/s11222-012-9353-5")

Roldán-Nofuentes & Sidaty-Regad (2019) JSCS. 2019; 89:14,2621-2644 tools:::Rd_expr_doi("10.1080/00949655.2019.1628234")

Roldán-Nofuentes, Luna del Castillo & Montero-Alonso (2012) Comput Stat Data Anal. 2012; 6,1161–1173. tools:::Rd_expr_doi("10.1016/j.csda.2011.06.003")

Kosinski (2012) Stat Med. 2012; 32,964-977 tools:::Rd_expr_doi("10.1002/sim.5587")

Roldán-Nofuentes, Luna del Castillo (2007) Stat Med. 2007; 26:4179–201. tools:::Rd_expr_doi("10.1002/sim.2850")

Roldán-Nofuentes (2020) BMC Med Res Methodol. 2020; 20,143 tools:::Rd_expr_doi("10.1186/s12874-020-00988-y")

Examples

Run this code
# load data
df <- cfpr

# run compareR function
compareR(df,
  margins = TRUE, multi_corr = "bonf",
  test.names = c("pulm.exac", "pseudomonas")
)

Run the code above in your browser using DataLab