在pROC中与ROC曲线一起打印的AUC极限小数

问题描述

我已经成功地创建了一个图,该图在同一图中具有多个不同预测模型的ROC曲线,并且AUC和CI的数值很好地打印在侧面。

但是,对于我的项目来说,用三位小数打印这些是没有意义的,而是我需要使用两位小数的舍入版本,而且我无法说服Rstudio以这种方式打印它...

(为澄清起见,它说AUC: 0.708 (0.661-0.754),我需要将其设为0.71(0.66-0.75))。

我尝试过:

print(ROC_rfhipfx60X1MOmospugholt,digits = max(3,getoption("digits") -3 ),call= TRUE)

返回调用(乍看似成功):

Call:
roc.default(response = hipfx_pugely_and_holt_predictions_20200820$`1MO`,predictor = hipfx_pugely_and_holt_predictions_20200820$`PUGELY RISK %`,ci = TRUE,plot = TRUE,print.auc = TRUE,col = "red",lwd = 4,print.auc.y = 0.3,legacy.axes = TRUE,add = TRUE)

Data: hipfx_pugely_and_holt_predictions_20200820$`PUGELY RISK %` in 121 controls (hipfx_pugely_and_holt_predictions_20200820$`1MO` no) > 1050 cases (hipfx_pugely_and_holt_predictions_20200820$`1MO` yes).
Area under the curve: 0.7078
95% CI: 0.6615-0.7542 (DeLong)
> 

返回而不是创建新的绘图(如果我滚动查看绘图并返回到无效的绘图,则会再次打印相同的消息):

Error in readChar(con,5L,useBytes = TRUE) : cannot open the connection
In addition: Warning message:
In readChar(con,useBytes = TRUE) :
  cannot open compressed file '/var/folders/22/nxnj3khn76q9hz0khppd11_40000gn/T/RtmpXrawRS/rs-graphics-7de8e907-4a56-4944-b16e-aeb4054ee835/2473fad9-4618-46c1-9014-fbcb61050b97.snapshot',probable reason 'No such file or directory'
Graphics error: Plot rendering error
Error in readChar(con,useBytes = TRUE) : cannot open the connection

解决方法

digit的{​​{1}}参数控制有效数字的数量。在这种情况下,它匹配小数位数,因为我们介于0和1之间。因此,您可以使用print,如下所示:

digits = 2

对于绘图,建议您单独使用> library(pROC) > data(aSAH) > roc_curve <- roc(aSAH$outcome,aSAH$ndka) Setting levels: control = Good,case = Poor Setting direction: controls < cases > print(roc_curve,digits = 2) Call: roc.default(response = aSAH$outcome,predictor = aSAH$ndka,ci = TRUE) Data: aSAH$ndka in 72 controls (aSAH$outcome Good) < 41 cases (aSAH$outcome Poor). Area under the curve: 0.61 95% CI: 0.5-0.72 (DeLong) 函数。您应该自定义plot参数,以两个小数点表示数字(这次不是有效位数):

print.auc.pattern

当您从Rstudio中获得绘图错误时,通常可以重新创建绘图即可解决问题。