Я пытаюсь выяснить, как использовать merge()
для обновления базы данных.Как использовать merge() для обновления таблицы в R
Вот пример. Возьмем, например, данные кадра foo
foo <- data.frame(index=c('a', 'b', 'c', 'd'), value=c(100, 101, NA, NA))
который имеет следующие значения
index value
1 a 100
2 b 101
3 c NA
4 d NA
и рама bar
bar <- data.frame(index=c('c', 'd'), value=c(200, 201))
данных, который имеет следующие значения:
index value
1 c 200
2 d 201
Когда я запускаю следующую merge()
функцию для обновления значений для c
и d
merge(foo, bar, by='index', all=T)
Это приводит к этому выводу:
index value.x value.y
1 a 100 NA
2 b 101 NA
3 c NA 200
4 d NA 201
я хотел выход merge()
, чтобы избежать создания , в этом конкретном примере, value.x
и value.y
, но сохранить только исходный столбец value
Есть ли простой способ сделать это?
Что результат должен быть в случае каких-либо провалов? –
Вы когда-нибудь получали ответ на этот вопрос? Я ищу решение для этой же проблемы. – Gandalf
Интересно, почему у слияния нет, скажем, параметра 'overwrite = TRUE', который будет срабатывать, когда предоставляется' by'. Для каждого столбца вручную требуется удалить столбцы вручную, когда вы хотите перезапустить слияние. – Valentas