首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >dplyr联接列未出现

dplyr联接列未出现
EN

Stack Overflow用户
提问于 2019-01-26 03:04:16
回答 1查看 69关注 0票数 0

我有这两个数据帧:

代码语言:javascript
运行
复制
library(dplyr)
x =data.frame(ID = c("1-9","8-9","d"), col=c("A","B","h"), stringsAsFactors = FALSE)
y = data.frame(ID = c("2-9","4-9","5-9","1-9","8-9"), g=c(letters[1:5]), stringsAsFactors = FALSE)

我想加入,所以结果是

代码语言:javascript
运行
复制
ID  col  ID.y   g
1-9  A   1-9    D
8-9  B   8-9    E
d    h   NA     NA

如何做到这一点?

代码语言:javascript
运行
复制
x %>% dplyr::left_join( y, by=c("ID"="ID"),suffix = c(".x", ".y"))

x %>% left_join( y, by = "ID", copy = FALSE, 
           suffix = c(".x", ".y"))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 07:34:42

在联接表时,dplyr不会复制联接列,并且后缀仅应用于在每个表中具有相同名称的列,而这些列在联接中没有使用。

要获得您要查找的内容,您需要在一个表中复制ID字段,然后在此之后进行连接:

代码语言:javascript
运行
复制
y$ID.y <- y$ID
dplyr::left_join(x,y, by="ID")

#Output
#   ID col    g ID.y
#1 1-9   A    d  1-9
#2 8-9   B    e  8-9
#3   d   h <NA> <NA>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54371405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档