2014-07-12 62 views

回答

5

密度值將取決於數據集中x和y的範圍。

stat_density2d(...)MASS包中使用kde2d(...)來基於二元正態分佈計算二維核密度估計。一個點的密度被縮放,所有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規模1/100在df1(在每個方向),因此密度水平在t他的陰謀df2

+0

非常感謝jlhoward – user3833077

相關問題