我试图在折线图中比较奥巴马的第一年批准率和特朗普的第一年批准率。
这里的麻烦是我使用了两年的奥巴马(2009)和特朗普(2017)。似乎无法弄清楚该如何解决...
rating_comparison %>%
ggplot(aes(endDate, rating, group = 1)) +
geom_line(data = filter(rating_comparison,
endDate > "2017-01-28",
type == "Overall.A")) +
geom_line(data = filter(rating_comparison,
president == "Obama" &
endDate > "2009-01-25" &
endDate < "2010-01-24",
type == "Overall.A"))
我将从您的代码中假设数据看起来像这样:
president startDate endDate rating type
Obama 2017-01-17 2017-01-19 59 Overall.A
Trump 2017-01-25 2017-01-27 42 Overall.A
我还假定日期列的类型为Date
。如果没有,请使用类似以下的方法转换它们:
rating_comparison$endDate <- as.Date(rating_comparison$endDate, "%Y-%m-%d")
一种方法是由总统将每个日期转换为“自第一次约会以来的天数”。然后绘制等级与天的关系。当然,这是假定“第一次约会”在某种程度上是可比较的-我假设它们等于每个总统任期的第一次投票日。
例如,要按总统上色,限于前365天:
library(dplyr)
library(ggplot2)
rating_comparison %>%
filter(type == "Overall.A") %>%
group_by(president) %>%
mutate(Day = as.numeric(endDate - min(endDate))) %>%
ungroup() %>%
filter(Day <= 365) %>%
ggplot(aes(Day, rating)) +
geom_line(aes(color = president))
我从网上获取了一些盖洛普数据,这些数据与您的相似但不相同,以获得以下结果:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句