使用 TIdyverse 绘制累积分布函数的简单方法?

Simple way to plot a cumulative distribution function using TIdyverse?

我正在阅读 Michael Crawley 的 R 书,我已经到了他展示如何处理不同概率函数行为的部分。在这一部分中,他绘制了一个简单的累积分布函数:

curve(pnorm(x),-3,3)

没问题。但我想使用 tidyverse 包来做到这一点。原因是我已经阅读了涵盖 tidyverse 的两本书,并且随着我继续在 RI 中接受教育,我不妨使它与我目前所知道的同步。在我所做的一切中,我注意到我从未真正学会如何绘制概率分布。因此,利用到目前为止我所掌握的知识,我尝试了以下练习:

x = -8:8
norm_cum_table = data.frame(x,pnorm(x))
norm_plot = ggplot(data = norm_cum_table, mapping = aes(x = x)) + geom_line(mapping = aes(y = pnorm(x)))
norm_plot

我成功地得到了一条“看起来”像是 CDF 的曲线,但它看起来不够平滑,不符合我的喜好。

经过一些摆弄和更多阅读,我发现了另一种应用方法:

ggplot(data = norm_cum_table, mapping = aes(x = x)) + stat_function(fun = pnorm, args = list(sd=0.5))

这个版本看起来更流畅一些,但对我来说问题是到目前为止我还没有真正使用过 stat_function()。我读过的任何文本都没有处理它。

我觉得必须有一种更简单的方法来使用 Tidyverse 绘制任何概率分布,与我为获得应该是简单的结果而必须做的大量摆弄相比。

我想知道还有什么其他方法可以解决这个问题?

?stat_function 帮助文件中窃取,其中也有 ?geom_function 详细信息,您可以使用:

ggplot() + xlim(-5, 5) + geom_function(fun = pnorm)

这应该适用于用户定义的或已经可用的任何函数。