Когда я фильтрую набор данных на основе функции lag (), я теряю первую строку в каждой группе (потому что эти строки не имеют значения задержки).Как я могу избежать этого, чтобы сохранить первые строки, несмотря на то, что они не имеют никакого значения задержки?
ds <-
structure(list(mpg = c(21, 21, 21.4, 18.7, 14.3, 16.4), cyl = c(6,
6, 6, 8, 8, 8), hp = c(110, 110, 110, 175, 245, 180)), class = c("tbl_df",
"tbl", "data.frame"), row.names = c(NA, -6L), .Names = c("mpg",
"cyl", "hp"))
# example of filter based on lag that drops first rows
ds %>%
group_by(cyl) %>%
arrange(-mpg) %>%
filter(hp <= lag(hp))