У меня есть фрейм данных df
с полем date
, которое содержит даты (класса Date
). (Они бывают последовательными датами, как временные ряды, но не обязательно для этого вопроса.)
У меня есть вектор v
, который содержит несколько дат, каждая из которых соответствует «событие».
Я хочу создать новый столбец df$num_events
следующим образом: я хочу, чтобы значение df$num_events[i]
было числом дат события от v
, которое меньше или равен df$date[i]
. Таким образом, df$num_events
будет представлять собой общее количество событий, которые произошли в или перед каждой датой в df$date
.
Я знаю, что могу использовать for
l oop, но Есть ли симпатичный способ сделать это элегантно в Tidyverse? Я попробовал это:
df %>% mutate(num_events = sum(v <= date))
, но сумма хочет объединиться по всем df$date
, так что это не работает. Я чувствую, что может быть способ справиться с do
, но я все еще не совсем понимаю, как использовать do
.
Спасибо!