R: como mesclar quadros de dados por nomes de colunas
Você pode usar os seguintes métodos para mesclar quadros de dados por nomes de colunas em R:
Método 1: mesclar com base em um nome de coluna correspondente
merge(df1, df2, by=' var1 ')
Método 2: mesclar com base no nome da coluna sem correspondência
merge(df1, df2, by. x = ' var1 ', by. y = ' variable1 ')
Método 3: mesclar com base em vários nomes de colunas correspondentes
merge(df1, df2, by=c(' var1 ', ' var2 '))
Método 4: mesclar com base em vários nomes de colunas sem correspondência
merge(df1, df2, by. x =c(' var1 ', ' var2 '), by. y =c(' variable1 ', ' variable2 '))
Os exemplos a seguir mostram como usar cada método na prática.
Exemplo 1: Mesclar com base no nome da coluna correspondente
O código a seguir mostra como mesclar dois quadros de dados em R com base em um nome de coluna correspondente:
#define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
dots=c(88, 98, 104, 100))
df2 <- data. frame (team=c('A', 'B', 'C', 'D'),
rebounds=c(22, 31, 29, 20))
#merge based on one column with matching name
merge(df1, df2, by=' team ')
team points rebounds
1 A 88 22
2 B 98 31
3 C 104 29
4 D 100 20
O resultado é um quadro de dados que corresponde às linhas de cada quadro de dados usando a coluna da equipe .
Exemplo 2: Mesclar com base no nome da coluna sem correspondência
O código a seguir mostra como mesclar dois quadros de dados em R com base em um nome de coluna sem correspondência:
#define data frames
df1 <- data. frame (team=c('A', 'B', 'C', 'D'),
dots=c(88, 98, 104, 100))
df2 <- data. frame (team_name=c('A', 'B', 'C', 'D'),
rebounds=c(22, 31, 29, 20))
#merge based on one column with unmatched name
merge(df1, df2, by. x = ' team ', by. y = ' team_name ')
team points rebounds
1 A 88 22
2 B 98 31
3 C 104 29
4 D 100 20
O resultado é um quadro de dados que corresponde às linhas usando a coluna team no primeiro quadro de dados e a coluna team_name no segundo quadro de dados.
Exemplo 3: Mesclar com base em vários nomes de colunas correspondentes
O código a seguir mostra como mesclar dois quadros de dados em R com base em vários nomes de colunas correspondentes:
#define data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
position=c('G', 'F', 'G', 'F'),
dots=c(88, 98, 104, 100))
df2 <- data. frame (team=c('A', 'A', 'B', 'B'),
position=c('G', 'F', 'G', 'F'),
rebounds=c(22, 31, 29, 20))
#merge based on multiple columns with matching names
merge(df1, df2, by=c(' team ', ' position '))
team position points rebounds
1 AF 98 31
2 AG 88 22
3 BF 100 20
4 BG 104 29
O resultado é um quadro de dados que corresponde às linhas em cada quadro de dados usando a equipe e a coluna de posição em cada quadro de dados.
Exemplo 4: Mesclar com base em vários nomes de colunas sem correspondência
O código a seguir mostra como mesclar dois quadros de dados em R com base em vários nomes de colunas sem correspondência:
#define data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
position=c('G', 'F', 'G', 'F'),
dots=c(88, 98, 104, 100))
df2 <- data. frame (team_name=c('A', 'A', 'B', 'B'),
position_name=c('G', 'F', 'G', 'F'),
rebounds=c(22, 31, 29, 20))
#merge based on multiple columns with matching names
merge(df1, df2, by. x =c(' team ', ' position '), by. y =c(' team_name ', ' position_name '))
team position points rebounds
1 AF 98 31
2 AG 88 22
3 BF 100 20
4 BG 104 29
O resultado é um quadro de dados que corresponde às linhas usando as colunas team e position no primeiro quadro de dados e as colunas team_name e position_name no segundo quadro de dados.
Recursos adicionais
Os tutoriais a seguir explicam como executar outras funções comuns de quadro de dados em R:
Como fazer uma junção à esquerda no R
Como fazer uma junção interna em R
Como fazer um VLOOKUP em R
Como adicionar linhas ao quadro de dados em R