easy_tool: Simplifying Screening from 'lasso_screenr', 'logreg_screenr'...

View source: R/easy_tool.R

easy_toolR Documentation

Simplifying Screening from lasso_screenr, logreg_screenr and gee_screenr Objects

Description

easy_tool rescales model coefficients to whole numbers ranging from 1 to max. Those rescaled and rounded coefficients can be used as weights (QuestionWeights) for each screening question in a simplified model-based screening tool. The test screening score for a subject is the sum of the weights for their positive question responses.

Usage

easy_tool(object, max = 3, model = c("minAIC", "minBIC"), crossval = TRUE, ...)

Arguments

object

an object of class lasso_screenr or logreg_screenr.

max

(numeric) the desired maximum value for the response weights. Default: 3.

model

(for lasso_screenr objects only) the desired basis model. Valid options are "minAIC" and "minBIC", specifying the models that produced the smallest AIC and BIC values, respectively. Default: minAIC

crossval

a (logical) indicator for cross-validated (TRUE) or in-sample (FALSE) performance evaluation. Default: TRUE.

...

additional arguments passed to coef.lasso_screenr or coef.logreg_screenr.

Details

The QuestionWeights (see Value, below) are the foundation for easy screening. For example, the screening tool could consist of a simple questionnaire followed by the weight for each question, expressed as a small whole number (1, ..., max) and/or an equal number of open circles. The person doing the screening need only circle the numerical weight and/or fill in the circles if and only if the subject provides a "yes" response to a particular question. The person doing the screening then obtains the final score for that subject by adding up the circled numbers or counting the total number of filled-in circles. Testing is mandatory for consenting subjects for whom that final score equals or exceeds the chosen threshold based on the receiver-operating characteristics of CVresults.

The value chosen for max involves a trade-off between the ease of manual scoring and the degree to which the ROC from the re-scaling matches the ROC from the model. Small values of max make manual scoring easy, and sufficiently large values will match the screening performance of the model fit. It is prudent to compare the ROCs from a few values of max with the ROC from the model and base the final choice on the trade-off between ease of manual scoring and the desired combination of sensitivity and specificity.

Value

easy_tool returns (invisibly) an object of class easy_tool containing:

Call

The call to easy_tool.

varname

The names of the response and predictor variables.

QuestionWeights

Weights for the screening questions obtained by rescaling the non-zero-valued logistic regression coefficients to whole numbers ranging from 1 to max.

Type

The type of test performance evaluaion ("cross-validated" or "in-sample").

Scores

A data frame containing the testing outcomes (response) and cross-validated scores obtained as the sums of the weighted responses to the set of screening questions (score).

ROC

An object of class roc containing the receiver-operating characteristic produced by `pROC::roc`.

References

Teferi W, Gutreuter S, Bekele A et al. Adapting strategies for effective and efficient pediatric HIV case finding: Risk screening tool for testing children presenting at high-risk entry points. BMC Infectious Diseases. 2022; 22:480. http://doi.org/10.1186/s12879-022-07460-w

See Also

rescale_to_int, ntpp.easy_tool, plot.easy_tool, print.easy_tool and summary.easy_tool

Examples

attach(uniobj1)
tool <- easy_tool(uniobj1, max = 3)
methods(class = "easy_tool")
summary(tool)


sgutreuter/screenr documentation built on Nov. 20, 2022, 2:41 a.m.