Hoe de melt()-functie in r te gebruiken
U kunt de functie melt() van het reshape2- pakket in R gebruiken om een dataframe van een breed formaat naar een lang formaat te converteren.
Een breed formaat bevat waarden die niet herhalen in de eerste kolom.
Een lang formaat bevat waarden die in de eerste kolom worden herhaald .
Beschouw bijvoorbeeld de volgende twee datasets die exact dezelfde gegevens bevatten, uitgedrukt in verschillende formaten:
De functie melt() gebruikt de volgende basissyntaxis om een grootformaat dataframe naar een lang formaat te converteren:
melt(df, id=' team ')
Het id- argument geeft aan welke variabele moet worden gebruikt als de eerste kolom van het dataframe waarvan de waarden worden herhaald.
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: Melt() gebruiken in R
Stel dat we het volgende dataframe in R hebben dat momenteel een breed formaat heeft:
#create data frame in wide format df <- data. frame (team=c('A', 'B', 'C', 'D'), dots=c(88, 91, 99, 94), assists=c(12, 17, 24, 28), rebounds=c(22, 28, 30, 31)) #view data frame df team points assists rebounds 1 A 88 12 22 2 B 91 17 28 3 C 99 24 30 4 D 94 28 31
We kunnen de functie melt() gebruiken om het dataframe snel naar een lang formaat te converteren:
library (reshape2) #use melt() to convert data frame from wide to long format long_df <- melt(df, id=' team ') #view long data frame long_df team variable value 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
Merk op dat het dataframe nu een lang formaat heeft.
De kolommen punten , assists en rebounds zijn allemaal gecomprimeerd in een enkele kolom met de naam variabele , terwijl hun waarden allemaal zijn gecomprimeerd in een enkele kolom met de naam waarden .
Voel je vrij om de kolommen van het resulterende dataframe te hernoemen met behulp van de namen() functie:
#rename columns in long_df names(long_df) <- c(' team ', ' metric ', ' amount ') #view updated data frame long_df team metric amount 1 A points 88 2 B points 91 3 C points 99 4 D points 94 5 A assists 12 6 B assists 17 7 C assists 24 8 D assists 28 9 A rebounds 22 10 B rebounds 28 11 C rebounds 30 12 D rebounds 31
Merk op dat de kolommen zijn hernoemd.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Rijen filteren in R
Hoe een dataframe naar R te transponeren
Hoe dataframekolommen te hernoemen in R