问题描述
我已经成功地创建了一个图,该图在同一图中具有多个不同预测模型的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中获得绘图错误时,通常可以重新创建绘图即可解决问题。