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

在R中合并两个行数不等的DataFrame并添加来源标识列

解决方案

首先要注意两个数据集的列名存在大小写差异,得先统一列名才能顺利合并,接着给每个数据集加上dataset标识列,最后完成合并即可。

方法一:基础R实现

# 统一df1和df2的列名(转为小写)
colnames(df1) <- tolower(colnames(df1))
colnames(df2) <- tolower(colnames(df2))

# 给每个数据集添加dataset标识列
df1$dataset <- "df1"
df2$dataset <- "df2"

# 合并两个数据集,缺失的列自动填充NA
merged_df <- rbind(df1, df2)

# 查看结果
merged_df

方法二:用dplyr包实现(更简洁)

如果习惯用tidyverse工具,bind_rows能自动处理列名大小写和缺失列的问题:

library(dplyr)

merged_df <- bind_rows(
  df1 %>% mutate(dataset = "df1"),
  df2 %>% mutate(dataset = "df2")
)

# 查看结果
merged_df

结果说明

合并后的数据集里,来自df1的行在student_rank列会显示NA(因为df1没有这个列),dataset列清晰标记每条数据的来源,总行数为两个数据集行数之和(5+2=7行)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:15:54