У меня есть фрейм данных (или data.table) со столбцом дат.Я хочу создать новый столбец с максимальной датой для всех предыдущих записей (не включая текущую запись)
Спасибо.
Следующий код создает столбец (premax), который содержит максимумзначение (cummax) 'end' для строк до текущей строки включительно.Я хотел бы сделать это, где «конец» является переменной даты.Я также хотел бы иметь возможность исключить текущую строку (думаю, строки строки sql). Похоже, cumsum не поддерживает типы даты.
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
id<-c(1,1,1,1,2,2,2,2)
start<-c(1,2,3,4,2,3, 4,5)
end<- c(2,5,4,7,4,10,6,12)
df<-data.frame(id,start,end)
df %>% mutate(premax=cummax(end))
#> id start end premax
#> 1 1 1 2 2
#> 2 1 2 5 5
#> 3 1 3 4 5
#> 4 1 4 7 7
#> 5 2 2 4 7
#> 6 2 3 10 10
#> 7 2 4 6 10
#> 8 2 5 12 12