Hoe dataframes te herstructureren met de melt-functie van R
Het converteren van dataframes met de functie melt() in R maakt het gemakkelijker om aan verschillende vereisten te voldoen. Veel analysemethoden, zoals lineaire modellen en ANOVA, geven de voorkeur aan data in een lang formaat, omdat dit natuurlijker en gemakkelijker te interpreteren is.
Waarvoor wordt de functie melt() van R gebruikt?
De functie melt() behoort tot het pakket reshape2 en wordt gebruikt om dataframes te herstructureren, met name om ze om te zetten van een breed formaat naar een lang formaat. In een breed formaat worden variabelen in afzonderlijke kolommen georganiseerd, terwijl een lang formaat een betere weergave biedt voor analyses en visualisaties.
De functie melt() in R is een essentieel hulpmiddel voor het transformeren van gegevens. Deze functie is vooral relevant wanneer informatie alleen beschikbaar is in een breed formaat, maar bepaalde analyses of grafieken een lang formaat vereisen. Deze optie voor het herstructureren van gegevens vergroot de flexibiliteit van gegevensframes en maakt optimaal gebruik van verschillende R-analysetools en visualisatiebibliotheken mogelijk.
Wat is de syntaxis van de functie melt() in R?
De melt() -functie in R kan worden aangepast met behulp van verschillende argumenten.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Dit verwijst naar het gegevensframe dat u wilt herstructurerenna.rm: Een optioneel argument met een standaardwaarde vanFALSEvalue.name: Met dit optionele argument kunt u de kolom een naam geven die de waarden bevat voor de geherstructureerde variabelen in de nieuwe datasetid.vars: Een optioneel argument dat aangeeft welke kolommen als identificatie moeten worden behouden.columnswordt gebruikt als tijdelijke aanduiding.
Laten we eens naar een voorbeeld kijken:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RHet resulterende gegevensframe ziet er als volgt uit:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RNu gebruiken we melt() en zetten we het gegevensframe om in een lang formaat:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RHet geherstructureerde gegevensframe melted_df ziet er als volgt uit:
ID variable Value
1 1 A 4
2 2 A 7
3 3 A NA
4 1 B 8
5 2 B NA
6 3 B 5RHet resultaat is een gegevensframe dat is geherstructureerd in een lang formaat. De ID kolom is behouden als identificatie, de variable kolom bevat wat voorheen kolomnamen waren (A en B) en de Value kolom bevat de bijbehorende elementen. Vanwegena.rm = FALSE zijn er enkele ontbrekende waarden (gemarkeerd met NA).
Hoe NA-vermeldingen verwijderen met R’s melt()
Je kunt ontbrekende waarden in gegevensframes eenvoudig verwijderen met optie na.rm=True.
Laten we een nieuw gegevensframe definiëren:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RHet gegevensframe heeft de volgende vorm:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RNu gaan we het gegevensframe herstructureren met behulp van melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RHet nieuwe gegevensframe melted_df bestaat nu in een lang formaat zonder NA waarden:
ID variable Value
1 1 A 3
2 2 A 8
3 4 A 5
4 1 B 6
5 3 B 2
6 4 B 9
7 2 C 7
8 3 C 4
9 4 C 1RAls u meer wilt weten over het manipuleren van strings in R, bekijk dan de tutorials R substring() en R paste() in onze digitale gids.