You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R绘制logistic模型calibration plot出现non-numeric argument报错问询

报错原因

classifierplots包的calibration_plot函数对输入的真实标签参数test.y有格式要求,必须是取值为0/1的数值型向量,你当前传入的是因子(factor)类型的标签,函数内部计算颜色透明度参数时误将因子类型变量代入数值运算,才触发non-numeric argument to binary operator报错。

解决方法

将传入的test.y转换为数值型的0/1向量即可,注意不要直接对因子变量执行as.numeric(),否则会默认将因子水平按顺序转为1、2,不符合标签要求,需要先转字符再转数值,示例修正代码如下:

library(tidyverse)
library(classifierplots)
test.df <- tibble(
  y = factor(c(0,0,0,0,1,1,0,1,0,1)),
  pred = c(0.1,0.15,0.2,0.05,0.6,0.7,0.2,0.85,0.1,0.75)
)
# 先转字符再转数值,保证标签为0/1的数值格式
calibration_plot(
  test.y = as.numeric(as.character(test.df$y)),
  pred.prob = test.df$pred
)

如果是处理自有数据,只要提前确认test.y是取值仅为0和1的数值向量,即可正常绘制校准曲线。

内容的提问来源于stack exchange,提问作者jclifto8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:36:04