跨时间累计和

Cumulative sum across time

我有一个数据集,我想通过时间来总结。我在三种植物(西红柿、胡椒、南瓜)上有十个日期和花数。我想创建一个 ggplot(条形图)图,将花的数量相加并将它们显示为按植物着色的堆叠条形图。 Y轴应该是花的累计总和,x轴应该是时间。当我使用 cum_sum 时,输出对我来说没有意义。任何帮助都会很棒!谢谢。

dataset here

    df.sum<- df.sub%>% group_by(Date) %>% mutate(cumsum_covered = cumsum(Tomato)) 

ggplot (df.sum, aes (x=Date, y=cumsum_covered)) + geom_bar(stat="identity")

您正在按日期分组,因此 cumsum 将始终是单个值。我们想得到按日期

排序的每个水果的总和
df.sum <- df.sub %>% 
  # This gives us Date, fruit, amount
  gather(fruit, amount, Tomato, Pepper, Squash) %>%
  # We group by the fruit to get only the cumsums for the correct fruit and order by date
  group_by(fruit) %>% 
  arrange(Date) %>%
  mutate(cumsum_covered = cumsum(amount))

ggplot(df.sum, aes(Date, cumsum_covered, fill=fruit)) + 
  geom_col(position="stack")