使用R中的ggplot将正态分布叠加到密度

Med*_*ist 4 r ggplot2

我试图使用R中的ggplot将正态分布叠加到密度:

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))
Run Code Online (Sandbox Code Playgroud)

但我一直收到这个错误:

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

为什么?有解决方案吗

Med*_*ist 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))
Run Code Online (Sandbox Code Playgroud)

作品!

  • 没有数据和 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))`` (2认同)