У меня есть набор категорических данных типа судна, например, о пассажире, промысле, грузе и т. Д. На разных расстояниях от берега (DOS, например, 0-12 нм, 0-25 нм и т. Д.) Для разных месяцев года.
Первоначально я хочу получить счетчик количества Типов, например, количество пассажиров, отгрузок для каждой DOS за весь год / набор данных.Затем я хочу сделать то же самое для каждого месяца года.
Полагаю, это будет какая-то функция group_by, за которой следуют сводки ??но я безумно стараюсь получить вывод, потому что я пока не очень хорошо использую dplyr.
некоторые вещи, которые я пробовал:
ships <- df %>% group_by(DOS, Type)
shipc <- summarize(ships, count = n())
df1 <- gather(df, Type, DOS) %>% count(Type, DOS) %>% spread(DOS, n, fill = 0)
Но я почти уверен, что этоне работает, потому что я не правильно понимаю синтаксис ....
Вот некоторые фиктивные данные:
df <- structure(list(Type = c("Cargo ship", "Cargo ship", "Cargo ship",
"Cargo ship", "Cargo ship", "Cargo ship", "Fishing", "Fishing",
"Fishing", "Fishing", "Fishing", "Cargo ship", "Cargo ship",
"Cargo ship", "Cargo ship", "Cargo ship", "Fishing", "Fishing",
"Fishing", "Fishing", "Fishing", "Fishing", "Fishing", "Fishing",
"Fishing", "Cargo ship:DG,HS,MP(A)", "Cargo ship", "Cargo ship",
"Fishing", "Fishing", "Fishing", "Fishing", "Fishing", "Tanker",
"Cargo ship", "Cargo ship", "Fishing", "Fishing", "Cargo
ship:DG,HS,MP(A)",
"Cargo ship:DG,HS,MP(D)", "Cargo ship:DG,HS,MP(D)", "Cargo
ship:DG,HS,MP(D)",
"Cargo ship"), DOS = c("0-100", "0-50", "0-25", "0-100", "0-50",
"0-25", "0-100", "0-25", "0-12", "0-50", "0-100", "0-50", "0-100",
"0-25", "0-50", "0-100", "0-50", "0-25", "0-50", "0-100", "0-25",
"0-100", "0-100", "0-50", "0-25", "0-100", "0-100", "0-50", "0-100",
"0-50", "0-25", "0-100", "0-100", "0-100", "0-50", "0-100", "0-100",
"0-100", "0-100", "0-25", "0-50", "0-100", "0-100"), Month = c("May",
"May", "May", "May", "May", "May", "May", "May", "May", "May",
"June", "June", "June", "June", "June", "June", "June", "June",
"June", "June", "June", "August", "August", "August", "August",
"August", "August", "August", "August", "August", "August", "August",
"January", "January", "January", "January", "January", "January",
"January", "January", "January", "January", "January"), Year = c(2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019)), row.names = c(NA,
-43L), class = c("tbl_df", "tbl", "data.frame"))
То, что я хочу, это категория Type, DOS и количествообщее количество кораблей, попадающих в эти уникальные идентификаторы.Затем я хочу, чтобы это сгруппировалось по месяцам и годам.