使用 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)
这应该适用于用户定义的或已经可用的任何函数。
我正在阅读 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)
这应该适用于用户定义的或已经可用的任何函数。