日期之间的每组行数R

时间:2018-11-01 00:07:00

标签: r

我正在尝试对每组两个日期(最小和最大)之间的行进行计数。唯一的警告是每个组都有不同的日期对。请参见下面的示例。

这是我的原始数据集。

raw <- data.frame ("Group" = c("A", "B", "A", "A", "B"), "Date" = c("2017-01-01", "2017-02-02", "2017-09-01", "2017-12-31", "2017-05-09"))

我希望它退回...

clean <- data.frame ("Group" = c("A", "B"), "Min" = c("2017-01-01", "2017-02-02"), "Max" = c("2017-12-31", "2017-05-09"), "Count" = c(3, 2))

我该怎么做? mix和max变量不是至关重要的,但绝对想知道如何做count变量。谢谢!

1 个答案:

答案 0 :(得分:1)

给出了日期范围,或者您也想从数据中计算出来。如果以后是真的,那么应该这样做。

require(tidyverse)
raw %>% 
  mutate(Date = as.Date(Date)) %>% 
  group_by(Group) %>% 
  summarise(min_date = min(Date), max_date = max(Date), count = n())

输出:

# A tibble: 2 x 4
  Group min_date   max_date   count
  <fct> <date>     <date>     <int>
1 A     2017-01-01 2017-12-31     3
2 B     2017-02-02 2017-05-09     2