В R
мы можем сделать slice
после группировки по «Страна», «Поток»
library(dplyr)
df %>%
group_by(Country, Flow) %>%
slice(1)
# A tibble: 2 x 5
# Groups: Country, Flow [2]
# Country Flow `%Rec` `Date_Received(with timestamp)` Date
# <chr> <chr> <int> <chr> <chr>
#1 DE ABC 40 2020-03-02 03:05:54 2020-03-02
#2 DE DEF 10 2020-03-03 05:05:54 2020-03-03
. Выше предполагается, что «Дата» ordered
(в примере ОП это уже заказано). Если нет, то конвертируйте в Date
класс и используйте which.max
df %>%
group_by(Country, Flow) %>%
slice(which.max(as.Date(Date)))
# A tibble: 2 x 5
# Groups: Country, Flow [2]
# Country Flow `%Rec` `Date_Received(with timestamp)` Date
# <chr> <chr> <int> <chr> <chr>
#1 DE ABC 40 2020-03-02 03:05:54 2020-03-02
#2 DE DEF 10 2020-03-03 05:05:54 2020-03-03
data
df <- structure(list(Country = c("DE", "DE", "DE", "DE", "DE", "DE"
), Flow = c("DEF", "DEF", "DEF", "ABC", "ABC", "ABC"), `%Rec` = c(10L,
15L, 20L, 40L, 50L, 20L), `Date_Received(with timestamp)` = c("2020-03-03 05:05:54",
"2020-03-03 07:25:24", "2020-03-03 04:05:54", "2020-03-02 03:05:54",
"2020-03-02 07:05:54", "2020-03-01 06:05:54"), Date = c("2020-03-03",
"2020-03-03", "2020-03-02", "2020-03-02", "2020-03-02", "2020-03-01"
)), class = "data.frame", row.names = c(NA, -6L))