在 R 中使用 predictABEL 包中的 plotCalibration() 的问题
Problems with using plotCalibration() from the predictABEL package in R
我在使用 plotCalibration() 函数时遇到了一些问题,我之前设法让它工作,但最近在使用另一个数据集 (here is a link to the .Rda data file) 时,我一直无法动摇关闭不断出现的错误消息:
> plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort)
Error in plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort) : The specified outcome is not a binary variable.`
当我尝试将 cOutcome 列设置为因子或逻辑时,它仍然不起作用。
我查看了函数的源代码,唯一一次出现错误消息是在第一个 if()else{} 语句中:
if (length(unique(y))!=2) {stop(" The specified outcome is not a binary variable.\n")}
else{
但是我检查过length(unique(y))确实是==2,所以不明白为什么还是会报错!
请尝试使用 table(data[,2],useNA = "ifany")
查看数据集结果变量的级别数。
函数plotCalibration
将在结果为二进制变量(两个级别)时执行。
使用您之前发送的数据,我没有看到任何错误:
生成了以下输出以及校准图:
> library(PredictABEL)
> plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort)
$Table_HLtest
total meanpred meanobs predicted observed
[0.000632,0.00129) 340 0.001 0.000 0.31 0
0.001287 198 0.001 0.000 0.25 0
[0.001374,0.00201) 283 0.002 0.004 0.53 1
0.002009 310 0.002 0.000 0.62 0
[0.002505,0.00409) 154 0.003 0.000 0.52 0
[0.004086,0.00793) 251 0.006 0.000 1.42 0
[0.007931,0.00998) 116 0.008 0.009 0.96 1
[0.009981,0.19545] 181 0.024 0.011 4.40 2
$Chi_square
[1] 4.906
$df
[1] 8
$p_value
[1] 0.7676
确保将数据帧传递给 PlotCalibration。传递 dplyr tibble 可能会导致此错误。使用正常 as.data.frame()
进行转换对我有用。
我在使用 plotCalibration() 函数时遇到了一些问题,我之前设法让它工作,但最近在使用另一个数据集 (here is a link to the .Rda data file) 时,我一直无法动摇关闭不断出现的错误消息:
> plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort)
Error in plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort) : The specified outcome is not a binary variable.`
当我尝试将 cOutcome 列设置为因子或逻辑时,它仍然不起作用。
我查看了函数的源代码,唯一一次出现错误消息是在第一个 if()else{} 语句中:
if (length(unique(y))!=2) {stop(" The specified outcome is not a binary variable.\n")}
else{
但是我检查过length(unique(y))确实是==2,所以不明白为什么还是会报错!
请尝试使用 table(data[,2],useNA = "ifany")
查看数据集结果变量的级别数。
函数plotCalibration
将在结果为二进制变量(两个级别)时执行。
使用您之前发送的数据,我没有看到任何错误:
生成了以下输出以及校准图:
> library(PredictABEL)
> plotCalibration(data = data, cOutcome = 2, predRisk = data$sortmort)
$Table_HLtest
total meanpred meanobs predicted observed
[0.000632,0.00129) 340 0.001 0.000 0.31 0
0.001287 198 0.001 0.000 0.25 0
[0.001374,0.00201) 283 0.002 0.004 0.53 1
0.002009 310 0.002 0.000 0.62 0
[0.002505,0.00409) 154 0.003 0.000 0.52 0
[0.004086,0.00793) 251 0.006 0.000 1.42 0
[0.007931,0.00998) 116 0.008 0.009 0.96 1
[0.009981,0.19545] 181 0.024 0.011 4.40 2
$Chi_square
[1] 4.906
$df
[1] 8
$p_value
[1] 0.7676
确保将数据帧传递给 PlotCalibration。传递 dplyr tibble 可能会导致此错误。使用正常 as.data.frame()
进行转换对我有用。