在 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)
我有两个数据框,想按日期合并它们。问题是,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)