我不确定我所问的问题在概念上是否正确,主要是因为密度本身的定义,但无论如何......
我正在尝试在R中绘制密度图,但是使用y轴上的百分比。在下图中,我成功绘制了我需要的曲线,但在我看来,这并不是y轴上的百分比。
我用来制作它的代码如下:
ggplot(data = base_15
, aes(x = inv_hab, y = ..count../sum(..count..)
, colour = abrg_natjur)
) + geom_density()
我已经在很多地方搜索过,例如:
http://www.cookbook-r.com/Graphs/Plotting_distributions_(ggplot2)/
https://en.wikipedia.org/wiki/Density_estimation
Use hist() function in R to get percentages as opposed to raw frequencies
但我还是失败了。当我使用
geom_histogram(aes(y = ..count../sum(..count..)))
它起作用,y轴变为百分比,但它不适用于geom_density。我想用线而不是列来绘制它。
提前致谢。
答案 0 :(得分:1)
您可以更改stat
使用的geom_*
以获得所需的输出。
我将使用mpg
包中的ggplot2
数据集作为此示例。
如你所说,
library(ggplot2)
ggplot(mpg) + aes(x = hwy, y = ..count../sum(..count..)) + geom_histogram()
使用geom_density
调用stat = 'bin'
,使用与geom_histogram
相同的统计信息,而不是stat = 'density'
的默认geom_density
,您将获得什么我想你正在寻找:
ggplot(mpg) + aes(x = hwy, y = ..count../sum(..count..)) + geom_density(stat = 'bin')