Простите, если это вопрос новичка. Я относительно новичок в R. Я практикую написание функций. В настоящее время я пытаюсь написать функцию, которая принимает любой числовой вектор, представляющий время, и классифицирует каждое наблюдение по следующим категориям: «Утро», «День», «Вечер» и «Ночь». Все векторы, представляющие время, относятся к военному времени.
time_cat <- function(df, column) {
select(df, column) %>%
mutate(time_category = ifelse(column %in% 500:1159, "Morning",
ifelse(column %in% 1200:1659, "Afternoon",
ifelse(column %in% 1700:2059, "Evening", "Night"))))
}
Для практики я использую набор данных Flights из пакета nycflights13. Однако функция, по-видимому, неправильно относит все наблюдения к категории «Ночь».
time_cat(flights, "dep_time")
# A tibble: 336,776 x 2
dep_time time_category
<int> <chr>
1 517 Night
2 533 Night
3 542 Night
4 544 Night
5 554 Night
6 554 Night
7 555 Night
8 557 Night
9 557 Night
10 558 Night
# ... with 336,766 more rows
Очевидно, что все эти наблюдения следует отнести к категории «Утро».
Может кто-нибудь объяснить, что не так с этим кодом?
Я буду очень признателен.
Спасибо.