【发布时间】:2017-12-14 08:33:38
【问题描述】:
我有一个如下所示的数据集:
library(tidyverse)
df <- tribble(
~year, ~value, ~dummy,
#--|--|----
2003, 3, 0,
2004, 4, 0,
2005, 7, 1,
2006, 9, 1,
2007, 15, 1,
2008, 17, 0,
2009, 7, 0,
2010, 8, 0,
2011, 8, 0,
2012, 7, 0,
2013, 2, 0,
2014, 9, 1,
2015, 5, 0
)
我正在尝试绘制value 系列,并在背景中使用带有dummy == 1 标记的年份的灰色条。 (喜欢this)
我无法将正确的年份传递给 R。我尝试了以下方法,但它不起作用:
dummy_years <- df$year[df$dummy == 1]
ggplot(df , aes(x = year)) +
geom_ribbon(aes(x = dummy_years, ymin = -Inf, ymax = Inf)) +
geom_line(aes(y = value))
我得到:Error: Aesthetics must be either length 1 or the same as the data (13): x, ymin, ymax。
【问题讨论】:
标签: r ggplot2 time-series dummy-variable