Я хотел бы знать, сколько животных появится в определенный день. На этой диаграмме люди заранее регистрируют своих животных.
Например, в 7
дни впереди кто-то зарегистрировался для их 4
кошек, чтобы показать на 5/3/2019
; в 6
дней вперед, еще 9
кошек зарегистрированы на 5/3/2019
. Так что на 5/3/2019
появятся 7+6=13
кошек.
Когда days_ahead
= 0, это просто означает, что кто-то зарегистрировался в день мероприятия. Например, 4
волки зарегистрировались для 5/1/2019
на 5/1/2019
(0 дней вперед), и в этот день будет 4
волков.
library(dplyr)
set.seed(0)
animal = c(rep('cat', 5), rep('dog', 6), rep('wolf', 3))
date = sample(seq(as.Date("2019/5/1"), as.Date('2019/5/10'), by='day'), 14, replace=TRUE)
days_ahead = sample(seq(0,14), 14, replace=FALSE)
number = sample.int(10, 14, replace=TRUE)
dt = data.frame(animal, date, days_ahead, number) %>% arrange(animal, date)
Ожидаемый результат должен иметь те же столбцы 1-3
, что и в примере, но четвертый столбец должен быть суммированным числом по каждому date
, накапливаясь в days_ahead
.
Я добавил ожидаемый результат здесь. comments
используются для объяснения столбца accumulated_number
.
Я рассмотрел loop
функцию, но не совсем уверен, как зациклить три переменные (cat, date и days_ahead). Любой совет приветствуется !!