A: gegevensframes samenvoegen op kolomnamen


U kunt de volgende methoden gebruiken om gegevensframes samen te voegen op kolomnamen in R:

Methode 1: Samenvoegen op basis van een overeenkomende kolomnaam

 merge(df1, df2, by=' var1 ')

Methode 2: Samenvoegen op basis van ongeëvenaarde kolomnaam

 merge(df1, df2, by. x = ' var1 ', by. y = ' variable1 ')

Methode 3: Samenvoegen op basis van meerdere overeenkomende kolomnamen

 merge(df1, df2, by=c(' var1 ', ' var2 '))

Methode 4: Samenvoegen op basis van meerdere ongeëvenaarde kolomnamen

 merge(df1, df2, by. x =c(' var1 ', ' var2 '), by. y =c(' variable1 ', ' variable2 '))

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.

Voorbeeld 1: Samenvoegen op basis van overeenkomende kolomnaam

De volgende code laat zien hoe u twee gegevensframes in R kunt samenvoegen op basis van een overeenkomende kolomnaam:

 #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

Het resultaat is een dataframe dat overeenkomt met de rijen in elk dataframe met behulp van de teamkolom .

Voorbeeld 2: Samenvoegen op basis van niet-overeenkomende kolomnaam

De volgende code laat zien hoe u twee gegevensframes in R kunt samenvoegen op basis van een niet-overeenkomende kolomnaam:

 #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

Het resultaat is een dataframe dat rijen matcht met behulp van de teamkolom in het eerste dataframe en de team_name- kolom in het tweede dataframe.

Voorbeeld 3: Samenvoegen op basis van meerdere overeenkomende kolomnamen

De volgende code laat zien hoe u twee gegevensframes in R kunt samenvoegen op basis van meerdere overeenkomende kolomnamen:

 #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

Het resultaat is een dataframe dat overeenkomt met de rijen in elk dataframe, met behulp van de team- en positiekolom in elk dataframe.

Voorbeeld 4: Samenvoegen op basis van meerdere niet-overeenkomende kolomnamen

De volgende code laat zien hoe u twee gegevensframes in R kunt samenvoegen op basis van meerdere niet-overeenkomende kolomnamen:

 #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

Het resultaat is een dataframe dat rijen matcht met behulp van de team- en positiekolommen in het eerste dataframe en de team_name- en position_name- kolommen in het tweede dataframe.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere algemene dataframefuncties in R kunt uitvoeren:

Hoe maak je een linkse join in R
Hoe maak je een inner join in R
Hoe een VERT.ZOEKEN uit te voeren in R
Hoe rijen aan een dataframe toe te voegen in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert