Error in cmaxstat(scores, x, weights = weights, pmethod, minprop, maxprop, : no data between minprop, maxprop
在R语言调用package survminer::surv_cutpoint
的过程中:
res.cut <- surv_cutpoint(fit_km,
time = colnames(fit_km)[2], event = colnames(fit_km)[1],
variables = feature_
)
遇到了如下的报错:
Error in cmaxstat(scores, x, weights = weights, pmethod, minprop, maxprop, : no data between minprop, maxprop
回溯了surv_cutpoint
的内容,找到相关定义:
max_stat_i <- maxstat::maxstat.test(survival::Surv(time,
event) ~ var, data = surv_data, smethod = "LogRank",
pmethod = "none", minprop = minprop, maxprop = 1 -
minprop, alpha = alpha)
进一步发现,是在调用maxstat::maxstat.test
函数时出现问题,在相关的说明文档中找到了相关参数定义
minprop at least minprop*100% of the observations in the first group.
maxprop not more than minprop*100% of the observations in the first group
结合上面的报错,我们可以找到原因,即我们的数据并不满足,有10% (default) 可以分到第一组的条件,回到我们原来的数据,我们期望分组的变量feature_
table(fit_km[3])
0.00165806975954163 0.50702684967885 1.24737339591117 1.99175607994398 2.28709250413939 32.9729817356532 37.8594623237149 63.912455539034
73 1 1 1 1 1 1 1
107.903345424417
1
发现绝大多数的数据都等于其中某值,因此不满足条件。
解决方案:
具体问题具体分析吧,如果是我就直接删掉这个了,如果有什么其他的特殊情况欢迎评论区沟通。