Вы также можете использовать функции which.max()
и group_by()
:
library(lubridate)
library(dplyr)
df %>%
group_by(date) %>%
summarise(MaxCount = count[which.max(count)])
Результат:
# A tibble: 6 x 2
date MaxCount
<date> <int>
1 2018-01-01 5
2 2018-01-02 10
3 2018-01-03 9
4 2018-01-04 10
5 2018-01-05 8
6 2018-01-06 10
Образец набора данных (отредактировано из @Yifu Yan):
set.seed(123)
df <- tibble(count = sample(1:10,20,replace = T),
date = sample(ymd("2018-01-01") + days(0:5),20,replace = T)) %>%
arrange(date)