stat_density2d对于密集散点图来说真是一个很好的显示,但是我无法找到密度实际含义的任何解释。我有一个密度范围从0到400的图。这个比例的单位是多少?
谢谢!
答案 0 :(得分: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..))
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..))
这两个数据框是相同的,只是在df2
中,比例是df1
(在每个方向上)的1/100,因此密度等级是图表中的10,000倍。 df2
。