2011-06-14 34 views
8

我有几个累积的经验密度函数,为了说明两条曲线的不同,我想在彼此的顶部绘图。正如指出的in a previous question,绘制ECDF的功能仅仅是plot(Ecdf())当我读了精细的手工页,我确定我可以对对方使用类似下面的顶部绘制多个ECDFs:R:使用不同的颜色在另一个顶部绘制一个ECDF

require(Hmisc) 
set.seed(3) 
g <- c(rep(1, 20), rep(2, 20)) 
Ecdf(c(rnorm(20), rnorm(20)), group=g) 

但是我的曲线有时候重叠了一下,可能是分不清哪个是哪个,就像上面的例子中产生此图:

enter image description here

我真的想做出不同的这两个的CDF的颜色。然而,我无法弄清楚如何做到这一点。有小费吗?

+1

时间从Guiness切换回咖啡,JD。有一个'col ='参数,请参阅我编辑的答案。 – 2011-06-14 13:29:48

回答

12

如果内存服务,我已经在过去做过。据我记得,你需要欺骗它,因为Ecdf()是如此的paramterised。我想在help(ecdf)它暗示这只是一个stepfunctions的情节,所以你可以估计两个或更多ecdfs,绘制一个,然后通过lines()注释。

编辑原来它是那么容易,因为

R> Ecdf(c(rnorm(20), rnorm(20)), group=g, col=c('blue', 'orange')) 

的帮助页面中明确规定的col=说法。但我也发现了一些我明确使用plot.stepfun()的脚本。

+2

在我认为我阅读的手册中明确指出。很显然,我的一杯吉尼斯是挡住了屏幕的那一部分。 – 2011-06-14 13:40:38

+0

哇,他们现在做了64盎司'吞咽'眼镜? – 2011-06-14 17:01:51

+0

当我登陆DUB时,他们将我吸引到了吉尼斯的IV袋。这是IV袋阻挡我的屏幕。 – 2011-06-15 16:18:35

7

您可以一次添加一条曲线(每条曲线都有自己的样式),例如,

Ecdf(rnorm(20), lwd = 2) 
Ecdf(rnorm(20),add = TRUE, col = 'red', lty = 1) 
+1

你也可以做一个操作,因为'col','lty' ......都是矢量化的。 – 2011-06-14 13:34:53

相关问题