Совокупный график с использованием ggplot и dplyr - PullRequest
0 голосов
/ 22 мая 2018

Пример данных:

dat <- data.frame(year = as.factor(rep(c(2012:2015),each = 6)),id.2wk = rep(c(18,19,20,21,22,23),times = 4), 
              value = c(1.8,15.6,32.9,27.5,19.6,2.6,1,8,42,35,11,3,2,7,12,47,26,7,2,13,24,46,12,4))

ggplot(dat %>% group_by(year) %>% mutate(cv=cumsum(value)), 
aes(x = id.2wk, y = cv, colour = factor(year))) + 
geom_line(size = 1)+
geom_point() 

packageVersion("ggplot2")
2.2.1

enter image description here

Я ожидал сюжет, подобный приведенному ниже.Что пошло не так?

enter image description here

1 Ответ

0 голосов
/ 22 мая 2018

Как насчет использования data.table для расчета кумулятивной суммы внутри группы?

library(data.table)
library(ggplot2)

ggplot(setDT(dat)[, cv:= cumsum(value), year], 
       aes(x = id.2wk, y = cv, colour = factor(year))) + 
  geom_line(size = 1) +
  geom_point() 

Пример данных:

dat <- data.frame(year = as.factor(rep(c(2012:2015),each = 6)),
                  id.2wk = rep(c(18,19,20,21,22,23),times = 4), 
                  value = c(1.8,15.6,32.9,27.5,19.6,2.6,1,8,42,35,11,3,2,7,12,47,26,7,2,13,24,46,12,4))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...