从给定的数据框中,我想提取季度月份。
Category = c("New", "New","New","New","Old","Old","Old","Old",
"Expired","Expired", "Expired","Expired")
Date_Monthly =c("Jan-2014", "Feb-2014", "Mar-2014", "Apr-2014", "May-2014",
"Jun-2014", "Jul-2014", "Aug-2014", "Sep-2014","Oct-2014","Nov-2014","Dec-2014")
Monthly_Vals = c(4,7,6,7,8,12,10,11,10,16,12,120)
df1 <- data.frame(Category, Date_Monthly,Monthly_Vals)
我已经厌倦了润滑,但我明白了 错误
Error in as.POSIXlt.character(x, tz = tz(x)):character string is not in a standard unambiguous format
lubridate::quarter(df1$Date_Monthly)
还有其他方法可以从数据框中提取季度日期数据吗?
预期结果
Category Date_Monthly Monthly_Vals
New Mar-2014 6
Old Jun-2014 12
Expired Sep-2014 10
Expired Dec-2014 120
您可以使用
separate
和 filter
> df1 %>%
separate(Monthly_Dates, into = c("month", "year"), sep = "-", remove = FALSE) %>%
filter(month %in% month.abb[seq(3,12,3)]) %>%
select(-month, -year)
Category Monthly_Dates Monthly_Vals
1 New Mar-2014 6
2 Old Jun-2014 12
3 Expired Sep-2014 10
4 Expired Dec-2014 120