R ggplot2:为具有不同线长的多个 ROC 图创建数据框
R ggplot2: create data frame for multiple ROC plots with different line lengths
如果有更简单的方法,我正在尝试叠加 ROCR 包中 4 个不同 "performance" 对象的图。要点是这些对象中的每一个都包含两个等长的向量,一个用于 X 值,一个用于 Y 值,但是 X/Y 个向量在对象之间的长度不同。
目前我只是使用 plot() 和 lines() 手动提取和绘制这些曲线,以创建:
这并不可怕,但我想我会用 ggplot 更好地控制。唯一的问题是我想不出用 ggplot 从这些向量创建 data.frame() 的方法。
ggplot
更喜欢长格式的数据,因此不同行的不同长度无关紧要。
结构非常简单 - 你有一个定义线的列,iteration
,在你的例子中,值是 1、2、3 或 4(可能使这一列成为 factor
);一列给出 x
,一列给出 y
。
由于您没有提供任何代码或样本数据,我认为这就是您正在寻找的答案。您可以对单个向量使用 c()
或对单个数据帧使用 rbind()
来组合它们。或者 dplyr::bind_rows
或 data.table::rbindlist()
对数据帧列表进行操作。
如果有更简单的方法,我正在尝试叠加 ROCR 包中 4 个不同 "performance" 对象的图。要点是这些对象中的每一个都包含两个等长的向量,一个用于 X 值,一个用于 Y 值,但是 X/Y 个向量在对象之间的长度不同。
目前我只是使用 plot() 和 lines() 手动提取和绘制这些曲线,以创建:
这并不可怕,但我想我会用 ggplot 更好地控制。唯一的问题是我想不出用 ggplot 从这些向量创建 data.frame() 的方法。
ggplot
更喜欢长格式的数据,因此不同行的不同长度无关紧要。
结构非常简单 - 你有一个定义线的列,iteration
,在你的例子中,值是 1、2、3 或 4(可能使这一列成为 factor
);一列给出 x
,一列给出 y
。
由于您没有提供任何代码或样本数据,我认为这就是您正在寻找的答案。您可以对单个向量使用 c()
或对单个数据帧使用 rbind()
来组合它们。或者 dplyr::bind_rows
或 data.table::rbindlist()
对数据帧列表进行操作。