【发布时间】:2019-12-03 23:30:14
【问题描述】:
所以我正在尝试使用 ROCR 包在 R 中绘制 ROC 曲线。我有一个名为 Health 的二元结果和一个名为 test_result 的连续变量。
dat$health <- as.numeric(dat$health == "healthy")
mod <- glm(health ~ test_result, data=dat, family="binomial")
pred1 <- prediction(predict(mod), dat$health)
当我尝试运行 prediction() 的最后一行时,我收到一条错误消息
Number of predictions in each run must be equal to the number of labels for each run.
所以我查找了 predict(mod) 和 dat$health 的长度,分别得到了 1306 和 1366。这种长度差异会导致错误吗?如果是这样,为什么 predict(mod) 的长度小于结果变量的长度?任何帮助将不胜感激!
【问题讨论】:
-
可能您的数据中有缺失值,并且由于您无法预测缺失值,因此您的预测向量比实际向量短。排除具有缺失值的行应该会有所帮助。 dat[compete.cases(day), ] 应该可以解决问题。
-
@TimTeaFan 哇,你是对的……那太愚蠢了……
-
这是一个常见错误,我自己也经常遇到;)
标签: r prediction roc