Comments (4)
Ok, got it, and worked well!
Many thanks again, you made my day!
jo1511
from cutpointr.
Hi, the easiest way to do that is probably to just take the ROC curve values from the result of cutpointr and plot the ROC curve manually with ggplot. cutpointr returns all the necessary values. Maybe something like this?
library(cutpointr)
library(tidyverse)
cp <- cutpointr(suicide, dsi, suicide)
#> Assuming the positive class is yes
#> Assuming the positive class has higher x values
res_unnested <- cp %>%
unnest(cols = roc_curve)
annotation <- paste0("AUC: ", round(cp$AUC, 2), "\n",
"Cutpoint: ", round(cp$optimal_cutpoint, 2))
ggplot(res_unnested, aes(x = 1 - tnr, y = tpr)) +
xlab("1 - Specificity") +
ylab("Sensitivity") +
theme_bw() +
theme(aspect.ratio = 1) +
geom_line(color = "blue") +
geom_vline(xintercept = 1 - cp$specificity, linetype = 2) +
geom_hline(yintercept = cp$sensitivity, linetype = 2) +
annotate("text", x = 0.85, y = 0.05, label = annotation) +
ggtitle("ROC curve", "with custom styling and annotation")
Created on 2021-11-01 by the reprex package (v2.0.0)
from cutpointr.
Great, many thanks for your fast reply, everything worked well with my data!!!
Just one, probably easy question, if you don't mind.
I used the youden metric with OptimalCutpoints and cutpointr and they gave the same results.
However, when I used the MinValueSp metric with OptimalCutpoints I was not quite sure which metric to use in cutpointr.
I tried spec_constrain and minimize_metric, but that did not give the same results.
Again sorry for my stupidity:-(
Jo1511
from cutpointr.
Hi, no problem. I think it is the other way around:
MinValueSp
inOptimalCutpoints
maximizes sensitivity given a minimum value of specificity given in something likecontrol = control.cutpoints(valueSp = 0.8)
spec_constrain
incutpointr
optimizes (depending on the chosen function formethod
) the specificity given a minimum value of another metric, such as sensitivity. For example:constrain_metric = sensitivity, min_constrain = 0.8
If you want to maximize sensitivity given a minimum value for specificity in cutpointr
that would be something like:
cutpointr(suicide, dsi, suicide,
metric = sens_constrain,
method = maximize_metric,
pos_class = "yes", direction = ">=",
constrain_metric = specificity, min_constrain = 0.8)
from cutpointr.
Related Issues (20)
- Cutpointr confidence interval predictive positive value HOT 2
- Missing metrics if maximize/minimize_boot_metric HOT 2
- Allow bootstrap stratification for maximize_boot_metric and minimize_boot_metric HOT 1
- Make printing of summary_cutpointr nicer in Rmd documents HOT 1
- 95% confidence intervals instead of getting limits at 5% and 95% in summary of cutpointr HOT 1
- Documentation and cutpointr output suggestion HOT 3
- Confidence Intervals for ROC curves
- cutpointr() subgroup option how to determine opt_cut$boot list belonging to which subgroup? HOT 2
- Specify a customer cutpoint using oc_manual=avalue ignored? HOT 2
- Can we specify the bootstrap sampling size? HOT 2
- How to access ppv values given a custom cutpoint HOT 2
- How to include more than one predictors? HOT 5
- Calculating confidence intervals in cutpointr HOT 1
- Creating a composite biomarker score using regression coefficients HOT 2
- direction parameter in the cutpointr() HOT 2
- Set manual color for only one line HOT 3
- add_metric adds the metric column multiple times
- An ambiguous region bounded by two cutpoint
- Explain oc_youden Kernel
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cutpointr.