在 R 中合并两个具有不同日期格式的 df

Merge two df´s with different date formats in R

我有两个数据框,想按日期合并它们。问题是,df1(我想保留的主要 df)每小时观察一次,df2 每天观察一次。我想合并它们,这样如果 df1 在一天内有多个观察结果,我会两次从 df2 转移一些观察结果。

示例 df:

Time_df1 <- c(ymd_hms("2017-11-28T14:02:00"),
              ymd_hms("2017-11-28T18:00:00"),
              ymd_hms("2020-08-24T20:30:00"), 
              ymd_hms("2020-10-01T02:02:00"),
              ymd_hms("2021-03-12T23:05:00"))
Measurement_df1 <- c(0.1,0.2, 0.5, 0.8, 0.7)
df1 <- data.frame(Time_df1, Measurement_df1)

Time_df2 <- c(as_date(17498), as_date(18498), as_date(18698))
Measurement_df2 <- c(11, 42, 28)
df2 <- data.frame(Time_df2, Measurement_df2)

目标 df:

Measurement_df2 <- c(11, 11, 42, NA, 28)
df_aim <- data.frame(Time_df1, Measurement_df1, Measurement_df2)

将时间变量转换为加入之前的日期

df1 %>% 
  dplyr::mutate(Time_df1date = as.Date(Time_df1)) %>% 
  dplyr::left_join(df2, by = c("Time_df1date" = "Time_df2")) %>%
  dplyr::select(-Time_df1date)