geom_smooth:它的含义是什么(为什么它低于平均值?)

时间:2013-05-15 18:50:04

标签: r ggplot2 smooth smoothing

我有关于人们每周上班次数的数据。随着旅行的距离,我感兴趣的是两个变量之间的关系。 (频率预计会随着距离的增加而下降,基本上是负面关系。)Cor.test支持这一假设:-0.08993444,p值为2.2e-16。

当我来绘制这个时,距离显然会随着更频繁的旅行而减少。为了理解我使用geom_smooth的大量点数。但我不完全理解结果。根据{{​​3}},它是一个“条件均值”。然而,它似乎永远不会接近真正的意思,

> mean(aggs3$Distance)
[1] 9.766497

在下面的图中,似乎永远不会超过8。 这里发生了什么?我认为我真的想要滚动的意思,但是从动物园包中发现help pages需要实现的麻烦(你需要先对数据进行排序),我想在开始前提出最佳解决方案。非常感谢。

geom_smooth

p <- ggplot(data=aggs3, aes(x=N.trips.week, y=Distance))
p + geom_point(alpha = 0.1) + geom_smooth() +
  ylim(0,30) + xlim(0,25)  + ylab("Distance (miles)") +
  stat_density2d(aes(fill = ..level..), geom="polygon", alpha=0.5,na.rm=T, se=0.1) 

(次要无关的问题:如何使2d密度层轮廓更平滑?)

(P.s。我知道有更好的方法来形象化 - 例如下面,但我为了学习而需要更好地理解如何使用geom_smooth。)

histogram

1 个答案:

答案 0 :(得分:1)

曲线geom_smooth产生的确是对条件均值函数的估计,即它是以英里为单位的平均距离的估计以每周的行程数为条件(这是一个特定的一种叫做LOESS的估算器。相反,您计算的数字是无条件均值的估计值,即所有数据的均值。

如果这是您感兴趣的两个变量之间的关系,那么有很多方法可以对其进行建模。如果你只想要一个线性关系,那么拟合一个线性模型(lm())就可以了,如果这是你要绘制的内容,那么将method='lm'作为参数传递给geom_smooth会告诉你看起来像什么。但是你的数据看起来并不像两个变量之间只有一个简单的线性关系,所以你可能想要更加想想你想要做什么!