ggplot - stat_density2d图的单位是多少?

1 r ggplot2

对于密集的散点图,stat_density2d确实是一个很好的显示,但是我无法找到关于密度实际意味着什么的任何解释.我有一个密度范围从0到400的图.这个比例的单位是多少?

谢谢 !

jlh*_*ard 5

密度值取决于数据集中x和y的范围.

stat_density2d(...)kde2d(...)MASS包中使用来计算基于二元正态分布的二维核密度估计.缩放某点的密度,使得所有x和y的密度积分均为1.因此,如果数据高度局部化,或者x和y的范围很小,则可以得到大的密度数.

您可以在以下简单示例中看到:

library(ggplot2)
set.seed(1)
df1 <- data.frame(x=c(rnorm(50,0,5),rnorm(50,20,5)),
                  y=c(rnorm(50,0,5),rnorm(50,20,5)))
ggplot(df1, aes(x,y)) + geom_point()+ 
  stat_density2d(geom="path",aes(color=..level..))
Run Code Online (Sandbox Code Playgroud)

set.seed(1)
df2 <- data.frame(x=c(rnorm(50,0,5),rnorm(50,20,5))/100,
                  y=c(rnorm(50,0,5),rnorm(50,20,5))/100)
ggplot(df2, aes(x,y)) + geom_point()+ 
  stat_density2d(geom="path",aes(color=..level..))
Run Code Online (Sandbox Code Playgroud)

这两个数据帧是相同的,只是在df2比例为df1(在每个方向上)的1/100,因此密度级别是图表中的10,000倍df2.