随时间推移的cumsum数据

时间:2017-04-07 20:37:53

标签: r graph ggplot2 cumsum

我正在使用俄勒冈州的广告系列贡献数据,而我正试图制作一个图表,显示每位候选人随时间的累积贡献量。这就是我到目前为止所拥有的:

ggplot(aes(x = as.Date(contb_receipt_dt, "%d-%b-%y"), 
           y = cumsum(contb_receipt_amt)),
           data = subset(oregon_data,
                      table(oregon_data$cand_nm)[oregon_data$cand_nm] > 1000                         
                          & as.Date(contb_receipt_dt, "%d-%b-%y") > as.Date("2015-01-01"))) 
+ geom_line(aes(color = cand_nm), bins = 5)

这就是它的样子:

failed graph

我希望看到的是每个候选人从0开始并逐渐增加每个额外贡献的线。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我会使用dplyr计算cumsum列,然后再将其发送到ggplot。这应该足以让你足够快,但是你需要对它进行修改并过滤数据以获得你想要的结果:

WashingtonData <- read.csv("P00000001-WA.csv")
WashingtonData <- WashingtonData %>% arrange(contb_receipt_dt)

MyGraphData <- WashingtonData %>% group_by(cand_nm) %>% mutate(cumsum = cumsum(contb_receipt_amt))

g <- ggplot(data=MyGraphData, aes(y=cumsum, x=contb_receipt_dt, color=cand_nm)) + geom_line()
g