繁体   English   中英

使用 dyplr 左连接合并两个数据帧

[英]Merging two data frames with dyplr left join

我正在尝试使用右连接与 dplyr 合并两个数据帧,但想知道我是否应该使用交叉连接。 我已经阅读了多个其他相关主题,包括这个有用但无济于事的主题。

简而言之,正确的连接对我有用,但它将两个数据帧之间的公共变量再现为单独的.x 和 .y 变量。 我只想将一个特定的变量(列)从左侧(x)数据帧添加到右侧(y)数据帧(具有更多行/观察值)与“SUBJECT”键变量匹配。

我不确定如何修改下面的代码以实现所需的结果,以便对从 x 数据帧合并的特定变量的观察结果在 y 数据帧中没有该变量的值是“N/A”。 值得注意的是,x 中存在的几乎所有变量都存在于 y 中(X 是 Y 的子集),但我只想匹配 SUBJECT 变量。 以下是我当前的代码。

DF_merged <- right_join(DF.X, DF.Y, by = 'SUBJECT')

您可能希望 select 成为您要合并的 dataframe 的子集。 一种选择是简单地使用基础 R 进行合并,其中 by.y 表示右连接。

我试图在这里创建一个可重现的示例:

DF.X <- data.frame(SUBJECT = 1:5,
                   COLUMN.A = 5:9,
                   COLUMN.B = 11:15)

DF.Y <- data.frame(SUBJECT = 1:15,
                   COLUMN.B = 11:25,
                   COLUMN.C = 15:29)

DF_merged <- merge(x = DF.X[ ,c("SUBJECT", "COLUMN.A")], y = DF.Y, by = "SUBJECT", all.y = TRUE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM