У меня есть данные, которые включают даты (дд/мм/гггг) и я хочу суммировать данные по годам. Я уверен, что есть более простой способ сделать это, но маршрут, который я предпринял, - это попытаться создать новую категориальную переменную, используя функцию «вырезать».Создайте категориальную переменную из данных даты в R
Например:
# create sample dataframe
dates<-c("01/01/2013", "01/02/2013", "01/01/2014", "01/02/2014", "01/01/2015", "01/02/2015")
cases<-c(3,5,2,6,8,4)
df<-as.data.frame(cbind(dates, cases))
df$dates <- as.Date(df$dates,"%d/%m/%Y")
# categorise by year
df$year <- cut(df$dates, c(2013-01-01, 2013-12-31, 2014-12-31, 2015-12-31))
Это дает ошибку:
invalid specification of 'breaks'
Как сказать R вырезать различные интервалы "дата"? Является ли мой подход к этому неправильным? Еще новичок в R (извините за основной вопрос).
Greg
Ваш аргумент 'breaks' неверен. Ввод должен быть либо строками (которые могут работать), либо объектами даты, которые могут быть легко сконструированы с использованием строк (см. Ответ Leo P.). –
Обратите внимание, что cbind гарантирует, что 'cases' станет символом, а не числовым. –