A função PROCV é amplamente conhecida no mundo das planilhas eletrônicas, com o importante papel de facilitar o trabalho na montagem e procura de dados. É definida como uma forma de buscar os valores correspondentes de uma coluna , com base em um ID (um valor comum que esteja procurando), retornando esses valores correspondentes em outra célula. Para realizar essa tarefa no R é extremamente fácil, e para tanto, iremos demonstrar como podemos realizar essa tarefa neste post.
Para realizar o mesmo procedimento do PROCV no R utilizaremos a família de funções 'joins' do pacote {dplyr}, conhecido por ser parte importante do {tidyverse} e peça chave na manipulação de dados no R. Conhecidos como "mutating joins", essas funções são descritas como funções que adicionam colunas de y para x, juntando suas observações baseadas em chaves, isto é, colunas iguais de ambos os data frame, retornado os valores em comuns (isto é, tal qual um chave definida) em outro data frame. Existem quatro funções dos mutating joins:
-
-
- inner_join() Junta os valores de x e y, isto é, retorna um data frame com observações interseccionados;
- left_join() Junta todos os valores de x. É a função que mais se assemelha com o PROCV;
- right_join() Junta todos os valores de y. É igual a função acima, porém especificando y;
- full_join() Junta todos os valores de x ou y.
-
Para exemplificar melhor, segue a estrutura dos joins:
Em que x é o data frame com os valores, y é o data frame das chaves e by é o argumento que específica qual coluna está inserido os dados da chave que "grudam" x e y. O data frame que é utilizado como chave, por óbvio, muda a depender do join utilizado. Neste caso, o left_join() considera a junção de x em y, ou seja, somente os valores de x serão considerados no resultado em relação a y.
Exemplo
Como exemplo, iremos utilizar dois data frames do pacote {Lahman}, que contém dados sobre estatísticas da MLB. Queremos juntar a coluna 'playerID' de um data frame com outro. Como queremos que sejam todos os valores do data frame x, escolhido aqui como Batting, utilizaremos a função left_join(), para exemplificar o uso do PROCV no R.
Repare no output que automaticamente a função reconheceu que a coluna a ser utilizada como chave foi "playerID", por óbvio, as vezes isso nem sempre ocorre, sendo necessário a utilização do argumento by, principalmente quando por mais que as colunas tenham os mesmo valores, possuam nomes diferentes. Observe também que somente os valores de x (Batting) em relação a y (Master) foram mantidos, excluindo todos os valores de y, isto por conta do efeito do uso de left_join().
Quer saber mais?
Veja nossos cursos de Python aplicado: R e Python para Economistas, Econometria usando R e Python e Estatística usando R e Python