我在尋找將中的正態分佈擬合添加到分組直方圖中最優雅的方式。我知道這個問題之前已經被問過很多次了,但是沒有一個建議的選項,比如this one或this one讓我覺得非常優雅,至少沒有,除非stat_function
可以用於每個特定的數據子部分。R:在ggplot2中添加正態擬合到分組直方圖
將正態分佈擬合疊加到非分組直方圖上的一種相對優雅的方法是使用geom_smooth
和method="nls"
(除了事實之外,它不是自啓動函數,起始值必須指定):
library(ggplot2)
myhist = data.frame(size = 10:27, counts = c(1L, 3L, 5L, 6L, 9L, 14L, 13L, 23L, 31L, 40L, 42L, 22L, 14L, 7L, 4L, 2L, 2L, 1L))
ggplot(data=myhist, aes(x=size, y=counts)) + geom_point() +
geom_smooth(method="nls", formula = y ~ N * dnorm(x, m, s), se=F,
start=list(m=20, s=5, N=300))
我想知道是否雖然這種方法也可以用來添加正態分佈適合於分組直方圖作爲
library(devtools)
install_github("tomwenseleers/easyGgplot2",type="source")
library("easyGgplot2") # load weight data
ggplot(weight,aes(x = weight)) +
+ geom_histogram(aes(y = ..count.., colour=sex, fill=sex),alpha=0.5,position="identity")
如果有可能定義的任何包我也想知道一個+ stat_distrfit()
或+ stat_normfit(
)爲ggplot2
任何機會(與分組的可能性)? (我真的找不到任何東西,但這似乎是一個普通的任務,所以我只是想知道)
原因我希望代碼儘可能短是因爲這是一門課程,我想保持儘可能簡單...
PS geom_density
不適合我的目標,我也想繪製計數/頻率而不是密度。我也想讓他們在同一個面板上,並避免使用facet_wrap
看看[這篇文章](http://www.stackoverflow。COM /問題/ 25075428#25091231)。 – jlhoward