【发布时间】:2016-04-27 10:17:11
【问题描述】:
我最近遇到了一个我无法解决的 ggplot2::geom_density 问题。我正在尝试可视化某个变量的密度并将其与常数进行比较。为了绘制密度,我使用了 ggplot2::geom_density。然而,我绘制密度的变量恰好是一个常数(这次):
df <- data.frame(matrix(1,ncol = 1, nrow = 100))
colnames(df) <- "dummy"
dfV <- data.frame(matrix(5,ncol = 1, nrow = 1))
colnames(dfV) <- "latent"
ggplot() +
geom_density(data = df, aes(x = dummy, colour = 's'),
fill = '#FF6666', alpha = 0.2, position = "identity") +
geom_vline(data = dfV, aes(xintercept = latent, color = 'ls'), size = 2)
这没关系,这是我所期望的。但是,当我将此分布移到最右边时,我会得到这样的图:
df <- data.frame(matrix(71,ncol = 1, nrow = 100))
colnames(df) <- "dummy"
dfV <- data.frame(matrix(75,ncol = 1, nrow = 1))
colnames(dfV) <- "latent"
ggplot() +
geom_density(data = df, aes(x = dummy, colour = 's'),
fill = '#FF6666', alpha = 0.2, position = "identity") +
geom_vline(data = dfV, aes(xintercept = latent, color = 'ls'), size = 2)
有什么办法可以规避吗?我想看到一个像上面那样的图,只有核密度的中心在 71 中,而 vline 在 75 中。
谢谢
【问题讨论】:
-
它与通过
ggplot2::stat_density传递给stat::density的调整和bw 参数有关。我不确定如何修改它以获得您想要的解决方案......当然,做一个常数的密度估计是愚蠢的 -
嗯?这有帮助吗?
标签: r ggplot2 kernel-density