我可以将包含m-d的字符串与R中的日期向量匹配吗?

时间:2018-10-24 18:49:59

标签: r tidyverse lubridate

所有,我已经看到日期转换问题被大量否决了,但是我在网上或帮助文件中找不到任何信息...

我有一个日期格式为ymd_hm()的df,然后在其他列中有一些数据。然后,我有另一个df,有366行,每天一行,一列包含与那天相关的一些值(一些气候资料,每年基本上是相同的,所以年份无关紧要)。 dfs可能看起来像这样:

df1 <- tibble(Date=seq(ymd_hm('2010-05-01 00:00'),ymd_hm('2010-05-03 00:00'), by = 'hour'), Data=c(1:length(Date)))

df2 <- tibble(MonthDay=c("04-30", "05-01", "05-02","05-03","05-04"), OtherData=c(20,30,40,50, 60))

现在,是否可以做某种查找并匹配DateMonthDay,然后将OtherData写入df1的事情?我无法将MonthDay转换为日期,所以我很努力。 因此,所有2010-05-01日期旁边应有30个日期,所有2010-05-02日期下一行应有40个,依此类推...

谢谢大家!

1 个答案:

答案 0 :(得分:2)

我们用format提取'MondayDay',并将其用作left_join中的公共连接列

library(dplyr)
df1 %>% 
     mutate(MonthDay = format(Date, "%m-%d")) %>%
     left_join(df2) %>%
     select(-MonthDay)