You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何匹配不同数据框中频次不同的列:ID与对应日期重复关联

解决方案

基础R实现

你的ID(1-5)和df2的日期顺序一一对应,最简单的方式是直接通过ID索引df2的日期列,将其添加到df1中:

df1$Date <- df2$Date[df1$ID]

如果需要单独生成结果DataFrame,也可以用merge函数(设置sort = FALSE保留原顺序):

# 给df2添加对应ID列
df2$ID <- 1:nrow(df2)
# 按ID合并两个DataFrame
result_df <- merge(df1, df2, by = "ID", sort = FALSE)
# 调整列顺序以匹配示例格式
result_df <- result_df[, c("ID", "Date")]

dplyr实现(tidyverse风格)

用dplyr的连接函数更符合tidy数据操作习惯:

library(dplyr)

# 给df2添加ID列(对应1到5)
df2 <- df2 %>% mutate(ID = row_number())
# 左连接df1和df2,保留df1所有行并匹配对应日期
result_df <- df1 %>% left_join(df2, by = "ID")

执行上述代码后,每个ID对应的日期会自动重复到与该ID在df1中的出现次数一致,得到你需要的结果。

内容的提问来源于stack exchange,提问作者Rollo99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:55:14