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

Can I match a character string containing m-d with a date vector in R?

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

我有一个日期格式为 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 个,依此类推...

谢谢大家!

我们用 format 提取 'MondayDay',将其用作 left_join

中的公共连接列
library(dplyr)
df1 %>% 
     mutate(MonthDay = format(Date, "%m-%d")) %>%
     left_join(df2) %>%
     select(-MonthDay)