为什么geom_density和stat_density(geom ="line")给出不同的结果?

Jak*_*her 7 r ggplot2

在下图中,为什么geom_densitystat_density(geom = "line")给出不同的结果?

library(ggplot2)

df <- data.frame(
  x.values = c(
    rnorm(100, mean = 1, sd = 1),
    rnorm(100, mean = 4, sd = 1),
    rnorm(100, mean = 7, sd = 1),
    rnorm(100, mean = 10, sd = 1)
  ),
  mean.values = sort(rep(c(1, 4, 7, 10), 100))
)

p <- ggplot(df, aes(x = x.values, color = mean.values, group = mean.values))

p + geom_density()
Run Code Online (Sandbox Code Playgroud)

geom_density结果

p + stat_density(geom = "line")
Run Code Online (Sandbox Code Playgroud)

stat_density结果

Rei*_*son 8

这是position争论的不同之处.默认情况stat_densityposition = "stack",虽然geom_density()它是position = "identity".

如果你打电话给p + stat_density(geom = "line", position = "identity")你得到同样的geom_density():

在此输入图像描述