参考自《R Graphics Cookbook》

核密度曲线类似于概率密度曲线,其曲线下的面积是1,因此其y轴上的单位通常是小于1的核密度分布值。

对这个核密度曲线求积分的结果为1,也就是其曲线下的面积为1(应该是这个意思)。

实质是一种对直方图的抽象。类似统计学中的频数分布图和概率密度函数的区别。

library(ggplot2)

一、

#使用geom_densit生成密闭的密度图

ggplot(faithful, aes(x = waiting)) +

geom_density()

1e12cec6da78654c8763a7e777a846ce.png

二、

#使用geom_line(stat = "density")生成不密闭的密度图

ggplot(faithful, aes(x = waiting)) +

geom_line(stat = "density") +

expand_limits(y = 0)

d486b761e3ffac7c9a5993be5319962d.png

三、

#通过adjust参数调整核密度图的平滑程度

#adjust默认为1,越大越平滑

ggplot(faithful, aes(x = waiting)) +

geom_line(stat = "density") +

geom_line(stat = "density", adjust = 0.25, colour = "red") +

geom_line(stat = "density", adjust = 2, colour = "blue")

0ca317d9cdad66bf96e362bd6f392d2b.png

四、

###在直方图上添加核密度图

##但二者y轴单位不同,核密度图的y轴通常小于1

#需要映射给y = ..density.. 缩小直方图的y轴单位来适应核密度图

ggplot(faithful, aes(x = waiting, y = ..density..)) +

geom_histogram(fill = "cornsilk", colour = "grey60", size = .2) +

geom_density() +

xlim(35, 105)

8057e680f3a1478701ff590afce224cf.png
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐