R 如何从数据框中提取季度日期

问题描述 投票:0回答:1

从给定的数据框中,我想提取季度月份。

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
r lubridate data-wrangling
1个回答
0
投票

您可以使用

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
© www.soinside.com 2019 - 2024. All rights reserved.