Hoe een dataframe te transponeren met dplyr


U kunt de volgende basissyntaxis gebruiken om een dataframe te transponeren met behulp van het dplyr- pakket in R:

 library (dplyr)
library (tidyr)

df %>%
    pivot_wider(names_from = column1, values_from = column2)

Het Names_from- argument specificeert de waarden die moeten worden gebruikt voor kolomnamen in het getransponeerde dataframe, en het Values_from- argument specificeert de celwaarden die moeten worden gebruikt in het getransponeerde dataframe.

Merk op dat de pipe operator ( %>% ) uit het dplyr- pakket komt, terwijl de functie pivot_wider() uit het Tidyr- pakket komt.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: transponeer een dataframe met dplyr

Stel dat we het volgende gegevensframe in R hebben dat informatie bevat over verschillende basketbalteams:

 #create data frame
df <- data. frame (team=c('Mavs', 'Nets', 'Kings', 'Lakers'),
                 dots=c(99, 104, 119, 113))

#view data frame
df

    team points
1 Mavs 99
2 Nets 104
3 Kings 119
4 Lakers 113

Stel nu dat we het dataframe zo willen transponeren dat teamnamen worden gebruikt als kolomnamen en puntwaarden worden gebruikt als celwaarden binnen het dataframe.

We kunnen hiervoor de volgende syntaxis gebruiken:

 library (dplyr)
library (tidyr)

#transpose data frame
df %>%
    pivot_wider(names_from = team, values_from = points)

# A tibble: 1 x 4
   Mavs Nets Kings Lakers
      
1 99 104 119 113

Het dataframe is getransponeerd zodat teamnamen als kolommen worden gebruikt en puntwaarden als celwaarden in het dataframe.

Merk op dat het resulterende gegevensframe nu 1 rij en 4 kolommen bevat.

Gerelateerd: een inleiding tot de functie pivot_wider() in R

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met dplyr:

Hoe u rijen kunt filteren die een bepaalde tekenreeks bevatten met behulp van dplyr
Hoe relatieve frequenties te berekenen met behulp van dplyr
Hoe u de eerste rij per groep selecteert met dplyr

Einen Kommentar hinzufügen

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