R: Замена данных двух кадров данных и объединение не взаимных данных - PullRequest
1 голос
/ 04 марта 2020

У меня есть два кадра данных, которые я буду объединять sh. Я хотел бы заменить существующие данные в df1 на df2, сопоставляя имена одновременно, комбинируя новую строку, сохраняя данные в df1, которого нет в df2, а также объединяя новую строку из df2, которая не существует в df1. Пример:

df1:

name       age
A          15
B          15
C          16
D          17
E          18

df2:

name       age       height
A          15        159
B          15        156
C          20        160
F          21        171
G          22        163

Желаемый результат:

name       age       height
A          15        159
B          15        156
C          20        160 
D          17        NA
E          18        NA
F          21        171
G          22        163

См. Это помимо объединения нового столбца для строки C в df1 столбец возраста обновляется с df2, с сохранением D & E, а & F & G объединяется с фреймом данных. Есть ли какие-либо предложения о том, как это сделать? Заранее спасибо

1 Ответ

1 голос
/ 04 марта 2020
library(dplyr) 
df1 %>% full_join(df2, by = "name") %>%
  mutate(age = coalesce(age.y, age.x)) %>%
  select(-age.y, -age.x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...