You need to enable JavaScript to run this app. 如何在R中匹配df1值与df2列名实现两个数据框合并
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中匹配df1值与df2列名实现两个数据框合并

R语言实现两个数据框匹配合并的方法

base R 实现(无需额外安装包)

# 处理df1:转置为属性为行、x序列为列的结构
df1_processed <- as.data.frame(t(df1[, -1]))
colnames(df1_processed) <- df1$object

# 处理df2:筛选匹配列,设置参数名为行名
df2_processed <- df2[, c("param", df1$object)]
rownames(df2_processed) <- df2_processed$param
df2_processed <- df2_processed[, -1]

# 按行合并得到最终结果
final_res <- rbind(df2_processed, df1_processed)
print(final_res)

tidyverse 实现(适合习惯管道操作的场景)

library(tidyverse)

df1_processed <- df1 %>% 
  pivot_longer(-object, names_to = "row_name", values_to = "val") %>% 
  pivot_wider(names_from = object, values_from = val) %>% 
  column_to_rownames("row_name")

df2_processed <- df2 %>% 
  column_to_rownames("param") %>% 
  select(all_of(df1$object))

final_res <- bind_rows(df2_processed, df1_processed)

运行上述任意一种代码,输出的final_res就是你要求的格式:

x1     x2     x3
weight   value  value  value
len      value  value  value
volume   value  value  value
color      red  green   blue
shape   square circle square

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 13:45:01