我有这两个数据帧:
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)
我想加入,所以结果是
ID col ID.y g
1-9 A 1-9 D
8-9 B 8-9 E
d h NA NA
如何做到这一点?
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"))
发布于 2019-01-26 07:34:42
在联接表时,dplyr
不会复制联接列,并且后缀仅应用于在每个表中具有相同名称的列,而这些列在联接中没有使用。
要获得您要查找的内容,您需要在一个表中复制ID字段,然后在此之后进行连接:
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>
https://stackoverflow.com/questions/54371405
复制相似问题