我想在ggplot中绘制一个漂亮的,看起来接近极限的正态概率密度函数。
我发现为了得到一个非常对称和清晰的图形,我必须增加样本数量,而一百万个样本可以创建一个很好的可视化效果。然而,这相当慢,特别是如果我希望在某个时候使用Shiny进行工作。
df <- data.frame(c(rnorm(1000000)))
ggplot(df, aes(df[1])) + geom_density()
当然,有更好的方法来展示接近理想正态分布的内容吗?
我想在ggplot中绘制一个漂亮的,看起来接近极限的正态概率密度函数。
我发现为了得到一个非常对称和清晰的图形,我必须增加样本数量,而一百万个样本可以创建一个很好的可视化效果。然而,这相当慢,特别是如果我希望在某个时候使用Shiny进行工作。
df <- data.frame(c(rnorm(1000000)))
ggplot(df, aes(df[1])) + geom_density()
ggplot(data=dataset, aes(dataset$value)) +
stat_function(fun = dnorm, args = c(mean = mean(dataset$value), sd = sd(dataset$value)))
stat_function
使用 dnorm
函数(获取正态变量的密度)解析平均值和中位数,并绘制正态分布。
参考:dnorm 如何工作?
有关 ggplot stat_function
文档,请访问 链接
示例:https://github.com/tidyverse/ggplot2/blob/master/R/stat-function.r
dnorm
函数?就像这里的第一个例子:http://docs.ggplot2.org/current/stat_function.html - Jake Burkheadstat_function
的帮助文档:ggplot(data.frame(x = c(-5, 5)), aes(x)) + stat_function(fun = dnorm)
,您可以绘制一个以x为自变量、正态分布(dnorm)函数为因变量的图形。 - nrussellstat_function
。我会去看看的! - tumultous_rooster