我有以下数据;
https://www.dropbox.com/s/at2f2zni7s1hnzm/results.csv?dl=0
当我使用以下内容绘制所有三个图时;
library(ggplot2)
library(pROC)
roc <- roc(results$testactual, results$pred)
ggroc(roc) +
geom_density(data = results %>%
filter(testactual == 0), aes(pred), color='green') +
geom_density(data = results %>%
filter(testactual == 1), aes(pred), color='black')
我可以在同一张图上获得3个图,但是轴并不像我希望的那样。
我试图使密度图的y轴显示在右侧,而roc
图的y轴显示在左侧。
最后对x轴进行排序,使1位于右侧,零位于左侧(但我认为我可以管理这个,因为我之前遇到过这个问题)
直接R链接到数据:
results <- read.csv(url("https://www.dropbox.com/s/at2f2zni7s1hnzm/results.csv?dl=1"))
编辑:只绘制密度图:
ROC图的情节
答案 0 :(得分:2)
使用sec.axis参数。您也可以使用..scaled..
将密度扩展到最大值1.
roc <- roc(results$testactual, results$pred)
ggroc(roc) +
geom_density(data = results %>%
filter(testactual == 0), aes(x=pred, y=..scaled..), color='green') +
geom_density(data = results %>%
filter(testactual == 1), aes(x=pred, y=..scaled..), color='black') +
scale_y_continuous(name = "Density", sec.axis = sec_axis(~., name = "Sensitivity"))