J'essaie de comprendre comment utiliser merge()
de mettre à jour une base de données.comment utiliser la fusion() pour mettre à jour une table en R
Voici un exemple. Prenons par exemple la trame de données foo
foo <- data.frame(index=c('a', 'b', 'c', 'd'), value=c(100, 101, NA, NA))
qui a les valeurs suivantes
index value
1 a 100
2 b 101
3 c NA
4 d NA
Et la trame de données bar
bar <- data.frame(index=c('c', 'd'), value=c(200, 201))
qui a les valeurs suivantes:
index value
1 c 200
2 d 201
Quand je lance la fonction merge()
suivante pour mettre à jour les valeurs de c
et d
merge(foo, bar, by='index', all=T)
Il en résulte cette sortie:
index value.x value.y
1 a 100 NA
2 b 101 NA
3 c NA 200
4 d NA 201
Je voudrais la sortie de merge()
pour éviter la création de , dans cet exemple spécifique, de value.x
et value.y
, mais seulement conserver la colonne d'origine de value
Y at-il un moyen simple de le faire?
Ce que le résultat devrait être en cas de non nulls? –
Avez-vous déjà reçu une réponse à cette question? Je suis à la recherche d'une solution pour ce même problème. – Gandalf
Je me demande aussi pourquoi la fusion n'a pas, disons un paramètre 'overwrite = TRUE' qui entrerait quand' by' est fourni. Il est incessant de supprimer les colonnes manuellement chaque fois que vous voulez ré-exécuter une fusion. – Valentas