我正在使用俄勒冈州的广告系列贡献数据,而我正试图制作一个图表,显示每位候选人随时间的累积贡献量。这就是我到目前为止所拥有的:
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)
这就是它的样子:
我希望看到的是每个候选人从0开始并逐渐增加每个额外贡献的线。我该怎么办?
答案 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