dplyr присоединяющийся столбец не отображается - PullRequest
0 голосов
/ 25 января 2019

У меня есть эти 2 фрейма данных:

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"))

1 Ответ

0 голосов
/ 26 января 2019

dplyr не будет дублировать столбец объединения при объединении таблиц, а суффикс применяется только к столбцам с одинаковыми именами в каждой таблице, которые не используются в объединении.

Чтобы получить то, что выищите, вам нужно будет скопировать поле идентификатора в одну таблицу, а затем присоединиться после этого:

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...