Я пытаюсь отфильтровать данные за последние 3 месяца по максимальной дате в моей колонке.
Сначала я добавил столбец в существующий фрейм данных и использовал приведенное ниже выражение для фильтрации данных.Я хочу исключить этот дополнительный шаг и выполнить фильтрацию напрямую.
last_three_month <- df_1[date_format > max(as.Date(date_format)) %m-% months(4) &
date_format <= max(date_format) , ]
Когда я использую df_1[MonthYear]
и фильтрую данные, я вижу ошибку вроде
"Ошибка: 'max' не имеет значения для факторов"
Данные
MonthYear Number Risk
1/18/2019 101 High AESI
1/18/2019 905
1/18/2019 909
1/18/2019 904
2/18/2019 101 High AESI
2/18/2019 905
2/18/2019 904
2/18/2019 909
2/18/2019 907
2/18/2019 541 High AESI
2/18/2019 908 High AESI
2/18/2019 906 High AESI
2/18/2019 046
2/18/2019 018 High AESI
2/18/2019 019
2/18/2019 002 High AESI
3/18/2019 904
3/18/2019 907
3/18/2019 905
Код
library(dplyr)
library(tibble)
library(reshape)
Input <- read.csv("C:/Users/Documents/Exports/HR.csv")
Output <- Input #%>% filter(Year == 2019)
df_output <- as.data.frame(Output)
date_format <- as.Date(paste("01-", df_output$Month.Year, sep = ""),
format = "%d-%b-%y")
df_1 <- cbind(df_output, date_format)
last_three_month <- df_1[date_format > max(as.Date(date_format)) %m-% months(4) &
date_format <= max(date_format) , ]
На самом деле я пытаюсь фильтровать данные непосредственно во фрейме данных, а не добавлять еще один столбец и достигать его.Можете ли вы, пожалуйста, посоветовать - Спасибо