Вот один вариант с base R
lapply(tapply(v1, cumsum(v1 %in% c("Retail", "Fee", "Supply Chain")),
head, 6), tail, -1)
#$`1`
#[1] "Channel1" "Discount" "10/1/2019 20%" "10/1/2020 20%" "10/1/2021 20%"
#$`2`
#[1] "Channel1" "10/1/2019 $5" "10/1/2020 5%" "10/1/2021 5%"
#$`3`
#[1] "Channel1" "Discount" "10/1/2019 80%" "10/1/2020 80%" "10/1/2021 80%"
Если сюда необходимо включить «Розничная торговля», «Плата», «Цепочка поставок»
tapply(v1, cumsum(v1 %in% c("Retail", "Fee", "Supply Chain")), head, 6)
данные
v1 <- c("Retail", "Channel1", "Discount", "10/1/2019 20%", "10/1/2020 20%",
"10/1/2021 20%", "Fee", "Channel1", "10/1/2019 $5", "10/1/2020 5%",
"10/1/2021 5%", "Supply Chain", "Channel1", "Discount", "10/1/2019 80%",
"10/1/2020 80%", "10/1/2021 80%")