根据 R 中的公共列连接两个数据框

古普塔

我想根据共同的第一列加入两个数据帧(df1、df2),但是,我希望将两个数据帧中的每一列一个接一个地放置,如示例所示:

INPUT df1
df1 <- data.frame(name = c("JMA", "PSA", "TAN", "POS"), HAN = c("0.2119", "-0.1726", "0.0002", "-1.036"), ENA = c("0.0736", "-1.6644", "0.0743", "-0.0605"), IUA = c("-0.2212", "-0.3352", "0.6301", "-0.2848"), MEA = c("0.3464", "0.4085", "0.5801", "0.3236"))

Input df2
df2 <- data.frame(name = c("JMA", "PSA", "TAN", "POS"), YHD = c("0.3874", "-0.209", "-0.0614", "-1.8067"), PUH = c("0.0784", "-0.572", "0.0819", "-0.0628"), OUR = c("0.2297", "0.279", "0.3106", "0.3368" ), NKA = c("-0.5446", "-2.324", "-0.572", "-0.3626"))


Output df
df <- data.frame(name = c("JMA", "PSA", "TAN", "POS"), HAN = c(0.2119, -0.1726, 2e-04, -1.036), YHD = c(0.3874, -0.209, -0.0614, -1.8067 ), ENA = c(0.0736, -1.6644, 0.0743, -0.0605), PUH = c(0.0784, -0.572, 0.0819, -0.0628), IUA = c(-0.2212, -0.3352, 0.6301, -0.2848 ), OUR = c(0.2297, 0.279, 0.3106, 0.3368), MEA = c(0.3464, 0.4085, 0.5801, 0.3236), NKA = c(-0.5446, -2.324, -0.572, -0.3626))

我知道 join 函数,但不知道如何将两个数据框中的列一一放置以进行进一步分析。

请帮忙。先感谢您。:)

r2evans
library(dplyr)
df3 <- full_join(df1, df2, by="name")
cn3 <- colnames(df3)
df3 <- df3[,order(coalesce(match(cn3, names(df1)), match(cn3, names(df2))))]
identical(df, df3)
# [1] TRUE
df3
#   name     HAN     YHD     ENA     PUH     IUA    OUR    MEA     NKA
# 1  JMA  0.2119  0.3874  0.0736  0.0784 -0.2212 0.2297 0.3464 -0.5446
# 2  PSA -0.1726 -0.2090 -1.6644 -0.5720 -0.3352 0.2790 0.4085 -2.3240
# 3  TAN  0.0002 -0.0614  0.0743  0.0819  0.6301 0.3106 0.5801 -0.5720
# 4  POS -1.0360 -1.8067 -0.0605 -0.0628 -0.2848 0.3368 0.3236 -0.3626

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据连接条件从 R 中的两个不同数据框中添加两列

根据R中的两个数据框划分一列

R:识别圆内的点并根据两个数据框计算新列

R:根据跨三个不同列的映射值合并两个数据框

根据索引和列连接两个数据框

R:根据列中的值合并两个数据帧,并返回两个数据帧的所有值

在 R 中:根据时间段条件连接两个数据帧

根据R中目标值的上下限连接两个数据帧

比较两个数据框并根据python或R中的条件存储值

根据条件验证R中两个数据帧之间的列中的值

根据列值合并R中的两个数据集

根据R中两个数据框的两列中的匹配对名称,将值添加到另一个数据框的其他值中

根据列中的值比较两个数据框

根据参考列匹配两个数据帧的列,该参考列在R中的两个数据帧上都相同

合并两个数据框并根据公共列选择第一个条目

使用R中的条件按键列交叉连接两个数据框

根据一个公共列从两个数据帧中减去列

根据多个条件连接两个数据框

根据两列的交集绑定两个数据框

根据Pandas中的公共列值合并两个数据帧

根据数据框中的ID比较两个数据框列

连接两个数据框并根据列值删除重复的行

Python - 根据最近的日期匹配和附加列连接两个数据框

熊猫根据字典中描述的关系连接两个数据框

如何在R中的两个数据框之间找到公共行?

根据两个数据框列建立计数通道

如何根据特定列串联两个数据框?

根据条件更新两个数据框列

根据熊猫中两列的组合比较两个数据框