R - 按月排序

时间:2017-10-12 00:20:11

标签: r dplyr

我已经采用了我的数据集中的每日差异,例如存储在diff.vec中。

无论年份如何,我都需要有所有日期+关联差异列,按月排序。

2000年1月,2001年1月,2002年1月等所有日子......将全部归入第1个月......然后在1928年2月19日,1929年,1930年的所有日子将全部归入第2个月等等......它也会用它拉出相应的差异列......

示例数据如下:

# dummy data
diff.vec <- c(NA, -0.04, -0.17,  0.11,  0.02, -0.18, -0.13, -0.02,  0.12)
date.vec <- c("1928-01-03", "1928-01-04", "1928-02-05", "1928-02-06", "1928-03-07","1928-03-09", "1928-03-10", "1928-01-11", "1928-01-12")

df <- data.frame(date.vec,diff.vec) # make data frame from vectors
library(lubridate)
df$date.vec <- ymd(df$date.vec)  # Convert Date Column [1] to Date format 

我的日期格式为yyyy-mm-dd。

我用dplyr尝试过一些东西:

# Group each daily difference by month
group <- df %>%
  dplyr::mutate(day = format(Date, "%d"), month = format(Date, "%m"), year = format(Date, "%y")) %>%
  group_by(day, month,year)

有些接近。

1 个答案:

答案 0 :(得分:2)

超级容易我的小朋友

df %>% mutate(mymonth = lubridate::month(mydate)) %>% group_by(mymonth)