当X比例转换为log10时,Y轴的密度尺度神秘地改变

时间:2014-11-20 01:33:48

标签: r plot ggplot2

我有一个分布在130,000个观测值上的变量(n_fractions$av)的密度图:

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  25.00   29.33   32.95   51.77   39.66 8275.00 

然后,如果我绘制这个

ggplot(n_fractions, aes(x=av)) + geom_density()

我得到enter image description here

但如果我将X比例转换为log10

ggplot(n_fractions, aes(x=av)) + geom_density() + scale_x_log10() + coord_trans(x="log10")

Y比例变为我无法解释的值

enter image description here

不应该密度总和为1?

1 个答案:

答案 0 :(得分:3)

密度应该积分为1,这仍然允许密度的点估计值超过1。

然而,密度的一般形状发生变化的原因是scale_x_log10()coord_trans(x="log10")做了不同的事情。特别是,比例变换(scale_x_log10())在计算任何统计(例如密度)之前发生。因此,在第二种情况下绘制的密度是log10(av)的密度曲线。坐标转换(coord_trans(x="log10"))在计算统计数据后发生,仅影响屏幕上的定位。

看起来你只是坐标变换而不是尺度变换。