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]