mathComb {dtComb}R Documentation

Combine two diagnostic tests with several mathematical operators and distance measures.

Description

The mathComb function returns the combination results of two diagnostic tests with different mathematical operators, distance measures, standardization, and transform options.

Usage

mathComb(
  markers = NULL,
  status = NULL,
  event = NULL,
  method = c("add", "multiply", "divide", "subtract", "distance", "baseinexp",
    "expinbase"),
  distance = c("euclidean", "manhattan", "chebyshev", "kulczynski_d", "lorentzian",
    "avg", "taneja", "kumar-johnson"),
  standardize = c("none", "range", "zScore", "tScore", "mean", "deviance"),
  transform = c("none", "log", "exp", "sin", "cos"),
  show.plot = TRUE,
  direction = c("auto", "<", ">"),
  conf.level = 0.95,
  cutoff.method = c("CB", "MCT", "MinValueSp", "MinValueSe", "ValueSp", "ValueSe",
    "MinValueSpSe", "MaxSp", "MaxSe", "MaxSpSe", "MaxProdSpSe", "ROC01", "SpEqualSe",
    "Youden", "MaxEfficiency", "Minimax", "MaxDOR", "MaxKappa", "MinValueNPV",
    "MinValuePPV", "ValueNPV", "ValuePPV", "MinValueNPVPPV", "PROC01", "NPVEqualPPV",
    "MaxNPVPPV", "MaxSumNPVPPV", "MaxProdNPVPPV", "ValueDLR.Negative",
    "ValueDLR.Positive", "MinPvalue", "ObservedPrev", "MeanPrev", "PrevalenceMatching"),
  ...
)

Arguments

markers

a numeric data frame that includes two diagnostic tests results

status

a factor vector that includes the actual disease status of the patients

event

a character string that indicates the event in the status to be considered as positive event

method

a character string specifying the method used for combining the markers. The available methods are:

  • add: Combination score obtained by adding markers

  • multiply: Combination score obtained by multiplying markers

  • divide: Combination score obtained by dividing markers

  • subtract: Combination score obtained by subtracting markers

  • distance: Combination score obtained with the help of distance measures.

  • baseinexp: Combination score obtained by marker1 power marker2.

  • expinbase: Combination score obtained by marker2 power marker1.

distance

a character string specifying the method used for combining the markers. The available methods are:

  • Euclidean (euclidean): c_i = {\sqrt{(x_{i1}-0)^2+(x_{i2}-0)^2}}

  • Manhattan(manhattan): c_i = |x_{i1}-0|+|x_{i2}-0|

  • Chebyshev (chebyshev): c_i = max{|x_{i1}-0|,|x_{i2}-0|}

  • Kulczynski (kulczynski_d): c_i = \frac{|x_{i1}-0|+|x_{i2}-0|}{min(x_{i1},x_{i2})}

  • Lorentzian (lorentzian): c_i = (ln(1+|x_{i1}-0|))+ (ln(1+|x_{i2}-0|))

  • Taneja (taneja): c_i = z_1\times\Biggl(log\frac{z_1}{\sqrt{(x_{i1}\times \epsilon )}}\Biggl)+z_2\times\Biggl(log\frac{z_2}{\sqrt{(x_{i2}\times\epsilon)}}\Biggl)

  • Kumar-Johnson (kumar-johnson): c_i = {\frac{(x_{i1}-0)^2}{2(x_{i1}\times\epsilon)}}+{\frac{(x_{i2}-0)^2}{2(x_{i2}\times\epsilon)}}, \epsilon = 0.00001

  • Avg (avg):

    (L_1, L_n) = \frac{|x_{i1}-0|+|x_{i2}-0| + max{(x_{i1}-0),(x_{i2}-0)}}{2}

standardize

a character string indicating the name of the standardization method. The default option is no standardization applied. Available options are:

  • Z-score (zScore): This method scales the data to have a mean of 0 and a standard deviation of 1. It subtracts the mean and divides by the standard deviation for each feature. Mathematically,

    Z-score = \frac{x - (\overline x)}{sd(x)}

    where x is the value of a marker, \overline{x} is the mean of the marker and sd(x) is the standard deviation of the marker.

  • T-score (tScore): T-score is commonly used in data analysis to transform raw scores into a standardized form. The standard formula for converting a raw score x into a T-score is:

    T-score = \Biggl(\frac{x - (\overline x)}{sd(x)}\times 10 \Biggl) +50

    where x is the value of a marker, \overline{x} is the mean of the marker and sd(x) is the standard deviation of the marker.

  • Range (a.k.a. min-max scaling) (range): This method transforms data to a specific range, between 0 and 1. The formula for this method is:

    Range = \frac{x - min(x)}{max(x) - min(x)}

  • Mean (mean): This method, which helps to understand the relative size of a single observation concerning the mean of dataset, calculates the ratio of each data point to the mean value of the dataset.

    Mean = \frac{x}{\overline{x}}

    where x is the value of a marker and \overline{x} is the mean of the marker.

  • Deviance (deviance): This method, which allows for comparison of individual data points in relation to the overall spread of the data, calculates the ratio of each data point to the standard deviation of the dataset.

    Deviance = \frac{x}{sd(x)}

    where x is the value of a marker and sd(x) is the standard deviation of the marker.

transform

a character string indicating the name of the standardization method. The default option is no standardization applied. Available options are:

  • log: Applies logarithm transform to markers before calculating combination score

  • exp: Applies exponential transform to markers before calculating combination score

  • sin: Applies sinus trigonometric transform to markers before calculatin combination score

  • cos: Applies cosinus trigonometric transform to markers before calculating combination score

show.plot

a logical a logical. If TRUE, a ROC curve is plotted. Default is TRUE

direction

a character string determines in which direction the comparison will be made. ">": if the predictor values for the control group are higher than the values of the case group (controls > cases). "<": if the predictor values for the control group are lower or equal than the values of the case group (controls < cases).

conf.level

a numeric values determines the confidence interval for the roc curve(0.95, default).

cutoff.method

a character string determines the cutoff method for the roc curve.

...

further arguments. Currently has no effect on the results.

Value

A list of numeric mathematical combination scores calculated according to the given method and standardization option

Author(s)

Serra Ilayda Yerlitas, Serra Bersan Gengec, Necla Kochan, Gozde Erturk Zararsiz, Selcuk Korkmaz, Gokmen Zararsiz

Examples


data(exampleData1)
markers <- exampleData1[, -1]
status <- factor(exampleData1$group, levels = c("not_needed", "needed"))
event <- "needed"
direction <- "<"
cutoff.method <- "Youden"

score1 <- mathComb(
  markers = markers, status = status, event = event,
  method = "distance", distance = "avg", direction = direction, show.plot = FALSE,
  standardize = "none", cutoff.method = cutoff.method
)

score2 <- mathComb(
  markers = markers, status = status, event = event,
  method = "baseinexp", transform = "exp", direction = direction,
  cutoff.method = cutoff.method
)

score3 <- mathComb(
  markers = markers, status = status, event = event,
  method = "subtract", direction = "auto", cutoff.method = "MinValueSp", transform = "sin"
)


[Package dtComb version 1.0.2 Index]