объединить фреймы данных и заменить один столбец другим - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть два фрейма данных, один со всеми моими данными, а другой с исправленным идентификационным номером для некоторых из данных.

Когда я пытаюсь объединить эти значения с левым, внутренним или полным соединениемЯ в конечном итоге с двумя столбцами ID (ID.x и ID.y).Есть ли способ сделать это так, чтобы идентификатор в моем исправленном наборе данных просто заменял идентификатор в полном наборе данных?

Например,

df.full <- left_join(df.full, correctID, 
                     by = c("value"))

Я пробовал копировать = TRUE и FALSE, но это, похоже, не помогает.

1 Ответ

0 голосов
/ 05 февраля 2019

Есть несколько случаев:

Если вы всегда хотите получить значение от correctID, просто перетащите столбец ID с df.full сначала:

df.full %>%
  select(-ID) %>%
  left_join(correctID, by = "value")

Если correctID не завершено, и вы хотите использовать его только при наличии:

df.full %>%
  left_join(correctID, by = "value") %>%
  mutate(ID = coalesce(ID.y, ID.x)) %>%
  select(-ID.y, -ID.x)

Вы, конечно, можете изменить это в противоположном случае (хотите использовать только correctID, когда df.full$ID отсутствует).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...