2016-09-14 114 views
0

我正在使用ROCR库和预测函数来创建ROC曲线。我这样做(从堆栈溢出复制)ROCR库预测函数错误

p_Lr <- predict(Model_Lr,newdata=Tst,type="response") 
pr_Lr <- prediction(p_Lr, Tst$Survived) 
prf_Lr <- performance(pr_Lr, measure = "tpr", x.measure = "fpr") 

这项工作 - 在开始。突然,编程和运行的各种代码(我很遗憾没能精确地说哪个代码)行

pr_Lr <- prediction(p_Lr, Tst$Survived) 

不工作了之后,并给出以下错误信息:

Error in nn$covariate : $ operator is invalid for atomic vectors using rocr library prediction 

然后,如果我分离并添加这样的ROCR库

detach(package:ROCR) 
library(ROCR) 

它再次工作!任何人都知道为什么和做什么?

回答

0

使用the sos findFn function,似乎其他两个包有一个名为prediction功能:bootPLSfrailtypack。在ROCR之后加载任何这些软件包将掩盖ROCR的prediction功能并阻止performance工作。

通过重新连接ROCR,您可以将其prediction功能重新放回到search path的前面。

另一种解决办法是明确地使用ROCR的prediction功能:

p_Lr <- predict(Model_Lr,newdata=Tst,type="response") 
pr_Lr <- ROCR::prediction(p_Lr, Tst$Survived) 
prf_Lr <- ROCR::performance(pr_Lr, measure = "tpr", x.measure = "fpr")