繁体   English   中英

R ggplot两个累积分布函数在同一个plot显示不正确

[英]R ggplot two cumulative distribution functions in the same plot are not correctly displayed

我想以图形方式说明如何计算连续排名的概率分数的示例。

为此,我需要一个 plot 中的两个(正态)累积概率分布,即预测的 cdf(蓝色)和观察到的 cdf(红色)。 观察到的 cdf 基于一个已知值,导致std=0 我随意分配:

预测的 cdf: mean = 10std = 0.3

观察到的 cdf: mean = 10std = 0

library("ggplot2")
ggplot() +
  theme_bw() +
  theme(axis.line = element_line(colour = "black"),
        panel.grid.major.x = element_blank(),
        panel.grid.major.y = element_line(size=0.8),
        panel.grid.minor.y = element_line(size=0.8),
        panel.grid.minor.x = element_blank(),
        panel.background = element_blank()) +
  geom_function(fun = pnorm,col="red",size=1, args = list(mean = 10, sd = 0))+
  geom_function(fun = pnorm,col="blue",size=1, args = list(mean = 10, sd = 0.3))+
  scale_x_continuous(limits = c(3, 17))

但是,当我 plot 这个时,它并没有完全显示我期望/想要的结果:

路口不正确

通常相交应为 0.5。 但是,在这种情况下,两个 cdf 都在 0.4 处相遇。 如何正确对齐?

非常感谢!

尝试增加线条的分辨率

  geom_function(fun = pnorm,col="red",size=1, args = list(mean = 10, sd = 0), n=500)+
  geom_function(fun = pnorm,col="blue",size=1, args = list(mean = 10, sd = 0.3), n=500)+

geom_function非常适用于漂亮的平滑线,但是当你有一个像sd=0那样的不连续性时,事情就会变得混乱。 通过增加绘制的点数,您可以在不连续点附近采样更多点。 (默认为n=101

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM