在ggplot中绘制平滑正态分布的最佳方法

时间:2014-10-31 20:56:10

标签: r ggplot2 normal-distribution

我想在ggplot中绘制一个很好的'接近极限' - 正常的pdf。

我发现为了得到一个非常对称且干净的情节,我不得不将样本数增加到相当大的数量;百万创造了一个伟大的可视化。然而,这是非常缓慢的,特别是如果我希望在某些时候与Shiny合作。

df <- data.frame(c(rnorm(1000000)))
ggplot(df, aes(df[1])) + geom_density()

当然有更好的方式来显示接近理想正态分布的东西吗?

1 个答案:

答案 0 :(得分:0)

基本上,您的代码应类似于:

 ggplot(data=dataset, aes(dataset$value)) +
      stat_function(fun = dnorm, args = c(mean = mean(dataset$value), sd = sd(dataset$value)))

stat_function使用dnorm函数(以获取正态变量的密度)解析均值和中值并绘制正态分布。

参考:How dnorm works?

对于ggplot stat_function文档,请遵循此link 样本:https://github.com/tidyverse/ggplot2/blob/master/R/stat-function.r