R 使用ggplot2在一个组合图中绘制密度和累积密度函数

R 使用ggplot2在一个组合图中绘制密度和累积密度函数,r,ggplot2,cdf,density-plot,ecdf,R,Ggplot2,Cdf,Density Plot,Ecdf,我想得到一个结合了观测密度和cdf的图 通常的问题是,两者的规模相差甚远。如何解决这一问题,即使用两个比例尺,或者重新调整一个数据系列的比例尺(最好在ggplot内,因为我想分离数据的计算和显示) 以下是迄今为止的代码: >dput(tmp) 屈服 结构(列表)(drivenkm=c(8,11,21,4594179,19,7,10, 36),.Names=“drivenkm”,class=c(“data.table”,“data.frame” ),row.names=c(NA,-10L),.i

我想得到一个结合了观测密度和cdf的图

通常的问题是,两者的规模相差甚远。如何解决这一问题,即使用两个比例尺,或者重新调整一个数据系列的比例尺(最好在ggplot内,因为我想分离数据的计算和显示)

以下是迄今为止的代码:

>dput(tmp)
屈服


结构(列表)(drivenkm=c(8,11,21,4594179,19,7,10,
36),.Names=“drivenkm”,class=c(“data.table”,“data.frame”
),row.names=c(NA,-10L),.internal.selfref=)

那我会的

p=ggplot(data=tmp,aes(x=drivenkm))+geom_直方图(aes(y=…密度),alpha=0.2,binwidth=3)+stat_ecdf(aes(x=drivenkm));
印刷品(p)

我得到的是:

显然,天平离我们太远了。如何解决这一问题,使直方图和cdf都能以合理的方式进行解释


谢谢

密度按宽度缩放,因此面积总和为1。因此直方图的
y
也应该乘以:

p = ggplot(data = tmp, aes(x = drivenkm)) +
   geom_histogram(aes(y = 3*..density..), alpha = 0.2, binwidth = 3) +
   stat_ecdf(aes(x = drivenkm))

密度按宽度缩放,因此面积总和为1。因此直方图的
y
也应该乘以:

p = ggplot(data = tmp, aes(x = drivenkm)) +
   geom_histogram(aes(y = 3*..density..), alpha = 0.2, binwidth = 3) +
   stat_ecdf(aes(x = drivenkm))

谢谢你的乘法指针。我从一些这样的代码片段中获取了
.density..
,但我从来都不理解这个语法的真正含义,因此不敢碰它。谢谢带乘法的指针。我从一些这样的代码片段中提取了
.density..
,但从未理解这个语法的真正含义,因此不敢碰它。