Без воспроизводимого примера набора данных, на котором мы можем протестировать наш код, трудно быть уверенным, что он будет работать, но, используя пакеты dplyr
и lubridate
, вы можете попробовать (при условии, что ваш набор данных звонил df
):
library(dplyr)
library(lubridate)
df %>% mutate(YEARTXT = ymd(YEARTXT)) %>%
mutate(Year = year(YEARTXT)) %>%
filter(Year %in% 2007:2014) %>%
summarise(INJURED = sum(INJURED, na.rm = FALSE),
CRASH = sum(CRASH == "Y"))
Чтобы получить количество Cra sh и раненых за год, вы можете добавить group_by
к следующей последовательности, такой как:
df %>% mutate(YEARTXT = ymd(YEARTXT)) %>%
mutate(Year = year(YEARTXT)) %>%
group_by(Year) %>%
filter(Year %in% 2007:2014) %>%
summarise(INJURED = sum(INJURED, na.rm = FALSE),
CRASH = sum(CRASH == "Y"))
Если это не работает, приведите воспроизводимый пример набора данных: Как создать отличный воспроизводимый пример R