Я видел много новостных агентств, говорящих о том, что «страна Х сообщает о своем наименьшем количестве новых случаев коронавируса с даты Y», поэтому я хотел попробовать сделать это в R, но я просто не могу понять как.
Вот данные, которые я имею для Италии, например:
italy <- tibble::tribble(
~country, ~date, ~cases_day,
"Italy", "2020-03-16", 3233L,
"Italy", "2020-03-17", 3526L,
"Italy", "2020-03-18", 4207L,
"Italy", "2020-03-19", 5322L,
"Italy", "2020-03-20", 5986L,
"Italy", "2020-03-21", 6557L,
"Italy", "2020-03-22", 5560L,
"Italy", "2020-03-23", 4789L,
"Italy", "2020-03-24", 5249L,
"Italy", "2020-03-25", 5210L,
"Italy", "2020-03-26", 6203L,
"Italy", "2020-03-27", 5909L,
"Italy", "2020-03-28", 5974L,
"Italy", "2020-03-29", 5217L,
"Italy", "2020-03-30", 4050L,
"Italy", "2020-03-31", 4053L,
"Italy", "2020-04-01", 4782L,
"Italy", "2020-04-02", 4668L,
"Italy", "2020-04-03", 4585L,
"Italy", "2020-04-04", 4805L,
"Italy", "2020-04-05", 4316L,
"Italy", "2020-04-06", 3599L,
"Italy", "2020-04-07", 3039L,
"Italy", "2020-04-08", 3836L,
"Italy", "2020-04-09", 4204L,
"Italy", "2020-04-10", 3951L,
"Italy", "2020-04-11", 4694L,
"Italy", "2020-04-12", 4092L,
"Italy", "2020-04-13", 3153L,
"Italy", "2020-04-14", 2972L
)
Я хочу создать столбец, в котором будет указано, когда в последний раз количество дел было ниже один в текущей строке. Таким образом, желаемый результат для первых 10 строк будет выглядеть примерно так:
tibble::tribble(
~country, ~date, ~cases_day, ~minimum_since,
"Italy", "2020-03-16", 3233L, NA,
"Italy", "2020-03-17", 3526L, "2020-03-16",
"Italy", "2020-03-18", 4207L, "2020-03-17",
"Italy", "2020-03-19", 5322L, "2020-03-18",
"Italy", "2020-03-20", 5986L, "2020-03-19",
"Italy", "2020-03-21", 6557L, "2020-03-20",
"Italy", "2020-03-22", 5560L, "2020-03-19",
"Italy", "2020-03-23", 4789L, "2020-03-18",
"Italy", "2020-03-24", 5249L, "2020-03-23",
"Italy", "2020-03-25", 5210L, "2020-03-23"
)
Я думаю, это можно сделать с помощью чего-то вроде накопления? Но я просто застрял здесь. Заранее спасибо за любую помощь!