我希望將密度線(實際上是一個正常密度)添加到直方圖。將密度線添加到ggplot2中的計數數據的直方圖
假設我有以下數據。我可以ggplot2
繪製直方圖:
set.seed(123)
df <- data.frame(x = rbeta(10000, shape1 = 2, shape2 = 4))
ggplot(df, aes(x = x)) + geom_histogram(colour = "black", fill = "white",
binwidth = 0.01)
我可以使用添加密度線:
ggplot(df, aes(x = x)) +
geom_histogram(aes(y = ..density..),colour = "black", fill = "white",
binwidth = 0.01) +
stat_function(fun = dnorm, args = list(mean = mean(df$x), sd = sd(df$x)))
但是這不是我真正想要的,我希望此密度線適合計數數據。
我發現了一個類似的帖子(HERE),提供瞭解決此問題的解決方案。但對我來說這不起作用。我需要一個任意的擴展因子來獲得我想要的。這是不是一般化都:
ef <- 100 # Expansion factor
ggplot(df, aes(x = x)) +
geom_histogram(colour = "black", fill = "white", binwidth = 0.01) +
stat_function(fun = function(x, mean, sd, n){
n * dnorm(x = x, mean = mean, sd = sd)},
args = list(mean = mean(df$x), sd = sd(df$x), n = ef))
,我可以用它來概括這個
- 第一正態分佈任何線索,
- 然後到其它任意塊大小,
- 最後對任何其他發行將是非常有益的。
你的意思是兩個圖表圖像是一樣的嗎?看起來像兩次上傳相同的文件 – arvi1000
在'MASS'包中使用'fitdistr(...)'來適應發行版。 – jlhoward