На основании представленных данных мы можем предположить, что вы читаете каждую секунду. Мы можем использовать rleid
из data.table
для создания групп и удаления первых двух строк из каждой группы.
library(dplyr)
library(data.table)
df %>%
group_by(group = rleid(VALVE)) %>%
slice(-c(1, 2)) %>%
ungroup() %>%
select(-group)
# A tibble: 7 x 2
# TIME VALVE
# <chr> <chr>
#1 10:06:07 2
#2 10:06:08 2
#3 10:06:09 2
#4 10:06:12 3
#5 10:06:13 3
#6 10:06:16 4
#7 10:06:19 2
данные
df <- structure(list(TIME = c("10:06:05", "10:06:06", "10:06:07",
"10:06:08", "10:06:09", "10:06:10", "10:06:11", "10:06:12", "10:06:13",
"10:06:14", "10:06:15", "10:06:16", "10:06:17", "10:06:18",
"10:06:19"), VALVE = c("2", "2", "2", "2", "2", "3", "3", "3", "3",
"4", "4", "4", "2", "2", "2")), row.names = c(NA, -15L), class =
"data.frame")