Давайте сначала сделаем ваши данные воспроизводимыми.Всегда беспокоится об этом.Очень важно предложить воспроизводимый пример для тех, кто мог бы потратить некоторое время на помощь.
df <- read.table(
text = "
Trip_Duration Date Start_Station_ID
680 01/01/2017 495
1282 01/01/2017 498
648 01/01/2017 333
632 02/01/2017 348
583 02/01/2017 958
589 03/01/2017 019
584 03/01/2017 496
867 03/01/2017 400
594 01/02/2017 419
587 01/02/2017 409
948 02/02/2017 395
476 02/02/2017 598
", header = TRUE)
Используя dplyr, вы можете делать то, что хотите, вот так:
df %>%
group_by(Date) %>%
mutate(Trips = n()) %>%
ungroup()
# A tibble: 12 x 4
Trip_Duration Date Start_Station_ID Trips
<int> <fct> <int> <int>
1 680 01/01/2017 495 3
2 1282 01/01/2017 498 3
3 648 01/01/2017 333 3
4 632 02/01/2017 348 2
5 583 02/01/2017 958 2
6 589 03/01/2017 19 3
7 584 03/01/2017 496 3
8 867 03/01/2017 400 3
9 594 01/02/2017 419 2
10 587 01/02/2017 409 2
11 948 02/02/2017 395 2
12 476 02/02/2017 598 2
Сначала мы group_by(Date)
, который является целевой переменной для частоты поездок.После того, как мы используем оператор n()
внутри mutate()
для подсчета каждый день, добавляем результаты в новую переменную с именем Trips
.Наконец мы ungroup()
фрейм данных.