【问题标题】:Passing object to lines function ifor plot data将对象传递给绘图数据的线函数
【发布时间】:2019-01-31 04:45:51
【问题描述】:

我的问题如下。我使用ROCR 包来绘制数据。 performance 函数返回一个对象,我通过它来绘制这样的数据:

example <- performance(prediction1,"tpr","fpr")
plot(example,col="red")

我想在此图中添加另一个 performance 对象,但 lines 函数接受 xy 坐标而不是对象。事实上如果我这样做:lines(example2, col="blue") 就会出现这个错误:

as.double(y) 中的错误: 无法将类型“S4”强制转换为“double”类型的向量**

【问题讨论】:

  • 也许你想plot第二个performance对象使用plot(example2, add = TRUE)?在这里查看更多信息:stackoverflow.com/questions/14085281/…
  • 非常感谢,它工作:);有一种方法可以使用带有 add=T 的 plot 为行命名??
  • 你的意思是在情节的某处添加一个图例?你可以检查这个:sthda.com/english/wiki/…
  • 我将一个对象传递给绘图,在这种情况下,该对象是“示例”。该图是 4 个元素的列表,然后该图有 4 行。我想为每条线使用不同的线型(1-> 点;2-> 点和线,....)。我怎么能通过一个包含 4 个元素的列表来做到这一点????
  • 我认为您需要将其作为一个新问题发布。请具体说明您拥有的数据(即发布具体示例)并显示/描述您的理想输出。

标签: r plot graph roc


【解决方案1】:

您可以使用add = TRUE 添加新行作为plot 参数:

library(ROCR)
data(ROCR.simple)

prediction1 <- prediction( ROCR.simple$predictions, ROCR.simple$labels)
example1 <- performance(prediction1,"tpr","fpr")
plot(example1, col="red")
example2 <- performance(prediction1, "sens", "spec")
plot(example2, col="blue", add = TRUE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2011-12-07
    • 2016-03-30
    相关资源
    最近更新 更多