Мы можем получить месяц и год от каждой даты и использовать aggregate
aggregate(ids~month_year, transform(df,
month_year = format(as.Date(edate), "%b-%Y")), length)
# month_year ids
#1 Aug-2018 1
#2 Jul-2018 4
Другой способ, используя lubridate
и dplyr
library(dplyr)
library(lubridate)
df %>%
mutate(edate = as.Date(edate),
year = year(edate),
quarter = quarter(edate)) %>%
#Use month to get monthly data
#month = month(edate)) %>%
count(year, quarter)
данные
df <- structure(list(edate = structure(c(3L, 2L, 2L, 4L, 1L),
.Label = c("2018-07-22", "2018-07-24", "2018-07-28", "2018-08-03"),
class = "factor"), ids = 2:6), class = "data.frame", row.names = c(NA, -5L))