Я думаю, что вы хотите этого? Просто используя ggplot
, поскольку я не знаком с easyGgplot
. Эта оценка плотности:
library(ggplot2)
# average heights in cm
set.seed(1234)
avgFh <- 160
stdFh <- 6.1
nsampF <- 250
avgMh <- 173
stdMh <- 7.0
nsampM <- 250
xmin <- 150
xmax <- 190
hdf <- data.frame(height = c(rnorm(nsampF, avgFh,stdFh),rnorm(nsampM,avgMh,stdMh)))
muhat <-mean(hdf$height)
sdhat <-sd(hdf$height)
nsamp <- nrow(hdf)
# Plot Density
denarg <- list(mean = muhat, sd = sdhat)
tittxt <- sprintf("Height Density - Samples:%d Avg:%.1f Std:%.2f",nsamp,muhat,sdhat)
ggplot(hdf, aes(height)) +
geom_histogram(aes(y = ..density..),bins=30,fill="lightblue") +
stat_function(fun = dnorm, args = denarg, size=2, col = 'blue') +
labs(title=tittxt)+
scale_x_continuous(limits=c(xmin,xmax))
получают следующим образом:
И если вы хотите отсчеты, чем это:
# Plot Count
f <- function(x){ nsamp*dnorm(x,muhat,sdhat)}
tittxt <- sprintf("Height Counts - Samples:%d Avg:%.1f Std:%.2f",nsamp,muhat,sdhat)
ggplot(hdf, aes(height)) +
geom_histogram(aes(y = ..count..),bins=30,fill="lightgreen") +
stat_function(fun =f, args = NULL, size=2, col = 'darkgreen') +
labs(title=tittxt)+
scale_x_continuous(limits=c(xmin,xmax))
дает это:
Вы можете добавить свой набор данных (используя dput()) к своему сообщению. Почему бы просто не использовать ggplot2? это может помочь вам достичь того, чего вы хотите http://stackoverflow.com/questions/34450341/cant-fit-a-normal-curve-to-a-grouped-histogram/34451821#34451821 – MLavoie
Помогло ли мое решение для вас? –
, честно говоря, на самом деле не нужно. Мне нужно найти его для моего сюжета (а не для обычного ggplot с функциями geom), но спасибо уже за помощь! – blondie