2014-07-11 3 views
4

Я пытаюсь наложить нормальное распределение с плотностью с помощью ggplot в R:Наложите нормальное распределение с плотностью, используя ggplot в R

ggplot(Data, aes(x=Rel, y=..density..)) + 
    geom_density(aes(fill=factor(cut)), position="stack") + 
    stat_function(fun = dnorm, args = list(mean = Rel.mean, sd = Rel.sd)) 

Но я получаю эту ошибку:

Error in eval(expr, envir, enclos) : object 'density' not found 
Calls: print ... <Anonymous> -> as.data.frame -> lapply -> FUN -> eval 

Почему? Любое решение?

+2

Вы получите ответ легче, если вы предоставите небольшой [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – alko989

+1

См. комментарии по [этому вопросу] (http://stackoverflow.com/questions/5688082/ggplot2-overlay-histogram-with-density-curve). Ошибка, скорее всего, потому, что вы устанавливаете глобальный y вместо установки y в 'geom_density'. – aosmith

+0

без данных и MWE, этот вопрос не является полезным. – PatrickT

ответ

5

После @aosmith совет:

ggplot(Data, aes(x=Rel)) + 
    geom_density(aes(y=..density.., fill=factor(cut)), position="stack") + 
    stat_function(fun = dnorm, args = list(mean = Rel.mean, sd = Rel.sd)) 

Works!

+0

без данных и MWE, этот ответ не пригодится. Пожалуйста, укажите что-то в строках '' ggplot (data = mtcars, aes (x = factor (cyl))) + geom_density (aes (y = ..density .., fill = factor (gear)), position = "stack ") + stat_function (fun = dnorm, args = list (mean = mean, sd = sd))' ' – PatrickT

+0

и скриншот сюжета будет еще лучше. – PatrickT

Смежные вопросы