R 添加到具有不同长度元素的ggplot

R 添加到具有不同长度元素的ggplot,r,ggplot2,R,Ggplot2,我是ggplot2的新手,我正在试图弄清楚如何将一条线添加到已创建的现有绘图中。原始图是数据帧x中一列数据T1的累积分布,其中包含约100000个元素。我已经使用ggplot2和stat\u ecdf()以及我在下面发布的代码成功地绘制了此图。现在,我想使用一组(x,y)坐标添加另一条线,但当我使用geom_line()尝试此操作时,我收到错误消息: Error in data.frame(x = c(0, 7.85398574631245e-07, 3.14159923334398e-06,

我是ggplot2的新手,我正在试图弄清楚如何将一条线添加到已创建的现有绘图中。原始图是数据帧
x
中一列数据
T1
的累积分布,其中包含约100000个元素。我已经使用ggplot2和
stat\u ecdf()
以及我在下面发布的代码成功地绘制了此图。现在,我想使用一组(x,y)坐标添加另一条线,但当我使用
geom_line()
尝试此操作时,我收到错误消息:

Error in data.frame(x = c(0, 7.85398574631245e-07, 3.14159923334398e-06,  : 
arguments imply differing number of rows: 1001, 100000
以下是我尝试使用的代码:

> set.seed(42)
> x <- data.frame(T1=rchisq(100000,1))
> ps <- seq(0,1,.001)
> ts <- .5*qchisq(ps,1) #50:50 mixture of chi-square (df=1) and 0
> p <- ggplot(x,aes(T1)) + stat_ecdf() + geom_line(aes(ts,ps))
我已经看到了一些关于一般情况下添加行的其他帖子,但我没有看到的是当两个原始向量的长度不相同时如何添加行。(注意:我不想只使用100000(x,y)坐标。)

作为奖励,是否有类似于使用
abline
在ggplot2图形上添加放置线的简单方法


任何建议都将不胜感激。

ggplot
处理
数据。frames
,您需要制作
ts
ps
a
数据。frame
然后在调用
geom\u line
时指定此额外的
数据。frame

 set.seed(42)
 x <- data.frame(T1=rchisq(100000,1))
 ps <- seq(0,1,.001)
 ts <- .5*qchisq(ps,1) #50:50 mixture of chi-square (df=1) and 0
 tpdf <- data.frame(ts=ts,ps=ps)
 p <- ggplot(x,aes(T1)) + stat_ecdf() + geom_line(data=tpdf, aes(ts,ps))
set.seed(42)
x
 set.seed(42)
 x <- data.frame(T1=rchisq(100000,1))
 ps <- seq(0,1,.001)
 ts <- .5*qchisq(ps,1) #50:50 mixture of chi-square (df=1) and 0
 tpdf <- data.frame(ts=ts,ps=ps)
 p <- ggplot(x,aes(T1)) + stat_ecdf() + geom_line(data=tpdf, aes(ts,ps))