我的数据集包含对Facebook帖子及其互动的多次每日观察。我正在使用一年的移动时间间隔(YTD)。
出于本研究的目的,我将这种交互分开,正如您在此数据样本中所看到的那样。数据已经很长了,我相信它远非整洁,但它有助于ggplot完成这项工作。
from_name created_time id variable value day
1440 Toyota Perú (Grupo Oficial) 2014-03-10 11:01:25 123538507674613_782719435089847 likes_count 140 2014-03-10
5491 Toyota Perú (Grupo Oficial) 2014-03-10 11:01:25 123538507674613_782719435089847 comments_count 10 2014-03-10
9542 Toyota Perú (Grupo Oficial) 2014-03-10 11:01:25 123538507674613_782719435089847 shares_count 17 2014-03-10
1439 Toyota Perú (Grupo Oficial) 2014-03-10 15:49:25 123538507674613_782845248410599 likes_count 61 2014-03-10
5490 Toyota Perú (Grupo Oficial) 2014-03-10 15:49:25 123538507674613_782845248410599 comments_count 1 2014-03-10
9541 Toyota Perú (Grupo Oficial) 2014-03-10 15:49:25 123538507674613_782845248410599 shares_count 0 2014-03-10
我的ggplot代码是:
ggplot(YTD, aes(day, value, color = variable)) + geom_line() +
facet_wrap(~ from_name) + theme(legend.position = "bottom")
我明白了:
从图中可以看出,每天都存在很多差异,这使得图形看起来非常混乱。我还尝试使用我正在研究的var的scale_y_log10
来记录值,但图表很糟糕......
如何绘制平滑线以便在所有方差噪声之外显示趋势?
答案 0 :(得分:1)
您可以使用库stat_smooth
中的methods
。在你的情况下,它看起来像
p <- ggplot(YTD, aes(day, value, color = variable)) + geom_line() +
facet_wrap(~ from_name) + theme(legend.position = "bottom")
# Apply a locally weighted regression
p + stat_smooth(method = "loess", formula = y ~ x, size = 1)
另一种选择是如果想要简单的话,可以使用矩形或三角平滑技术直接平滑数据。