Использование R.
Это небольшое подмножество моего набора данных, упрощенное для отображения только соответствующих столбцов.Данные взяты из Capital Bikeshare.В приведенном ниже столбце Start.Date указано точное время аренды велосипеда.
Start.date Member.type
2018-11-01 00:00:45 Member
2018-11-01 00:00:52 Casual
2018-11-01 00:01:46 Member
2018-11-01 01:00:02 Casual
2018-11-01 01:03:36 Member
Я пытаюсь сгруппировать все данные по дате, часу дня, номеру каждого типа участника иобщее количество типов участников (casual + member) за любой час любого дня.Итак, в итоге у меня будет просто «День - Час - Количество арендных плат для каждого типа участника», чтобы я мог предсказать тренды на час дня,
Вот мой соответствующий код
library(dplyr)
bikeData <- read.csv("2011data.csv")
bikeData <- bikeData %>%
mutate(Hour = format(strptime(
bikeData$Start.date, "%Y-%m-%d %H:%M:%S"), "%m-%d %H")) %>%
mutate(day = wday(Start.date, label=TRUE))
groupData <- bikeData %>%
mutate(Start.date = ymd_hms(Start.date)) %>%
count(date1 = as.Date(Start.date), Hour1 = hour(Start.date),
member=(Member.type)) %>%
group_by(date1, Hour1) %>%
arrange(date1, Hour1) %>%
summarise(total=sum(n))
Это дает мне новый набор данных, groupData
date1 Hour1 total
2018-11-01 0 82
2018-11-01 1 43
2018-11-01 2 17
2018-11-01 3 4
2018-11-02 0 5
2018-11-02 1 24
Таким образом, я смог сделать общее количество Member + Casual за все 24 часа каждого дня моего набора данных, но какя получу еще два столбца, которые показывают общее количество случайных и еще один, который показывает общее количество участников?Спасибо!
Желаемый ниже:
date1 Hour1 total Casual Member
2018-11-01 0 82 40 42
2018-11-01 1 43 20 23
2018-11-01 2 17 10 7
2018-11-01 3 4 1 3
2018-11-02 0 5 1 4
2018-11-02 1 24 20 4