1
resposta

Dúvida

Vi que o merge junta bancos de dados mesmo se as informações estiverem erradas. Eu gostaria de saber qual comando ou função que poderia ser mais adequada, quando você tem um grande volume de dados e gostaria de fundir somente os que forem iguais. Alguém poderia me ajudar?

Um exemplo simples: Tenho duas tabelas, na tabela 1 há nome de pessoas e idade; na tabela 2, há o nome dessas mesmas pessoas e mais outra informação, por exemplo, endereço... Se por acaso, eu quiser unir em uma mesma tabela essas duas informações, mas pode ser que em uma delas tenha pessoas a mais ou a menos, com o merge isso não daria certo, né?

1 resposta

Olá Isabella, tudo bem? Espero que sim!

A função merge possui alguns parâmetros para tratar esse tipo de situação.

Você irá utilizar o parâmetro by caso as duas tabelas tenham o nome da coluna igual para identificação. Mas caso tenham nomes diferentes de coluna, não é necessário realizar a mudança de nome da coluna em cada dataframe, basta usar o parâmetro by.x para identificar o nome da coluna no primeiro dataframe e by.y para identificar o nome da coluna no segundo dataframe.

Caso existam nomes em uma tabela que não existe na outra, basta utilizar o parâmetro all.x = TRUE ou all.y = TRUE para que todos os valores correspondentes a uma das tabelas sejam mostrados independente se não existir na outra tabela. Caso queira que apareçam os resultados únicos das duas tabelas, pode utilizar ambos os parâmetros igual a TRUE ou usar apenas o parâmetro all = TRUE.

Como não existirão resultados na outra tabela, os valores das colunas serão preenchidos com dados nulos. Se você não utilizar esses parâmetros ou colocar como FALSE, serão mostrados apenas as interseções dos resultados, ou seja, apenas valores que existem nas duas tabelas ao mesmo tempo.

Bons estudos!