Hur man omstrukturerar dataramar med R:s melt-funktion
Att konvertera dataramar med funktionen melt() i R gör det enklare att anpassa sig till olika krav. Många analysmetoder, såsom linjära modeller och ANOVA, föredrar data i ett långt format, eftersom det är mer naturligt och lättare att tolka.
Vad används funktionen melt() i R till?
R:s funktion melt() tillhör paketet reshape2 och används för att omstrukturera dataramar, särskilt för att konvertera dem från ett brett format till ett långt format. I ett brett format är variablerna organiserade i separata kolumner, medan ett långt format erbjuder bättre visning för analyser och visualiseringar.
Funktionen melt() i R är ett viktigt verktyg för att omvandla data. Den är särskilt relevant när information endast finns tillgänglig i ett brett format, men vissa analyser eller grafer kräver ett långt format. Detta alternativ för omstrukturering av data ökar flexibiliteten i dataramar och möjliggör optimal användning av olika R-analysverktyg och visualiseringsbibliotek.
Vad är syntaxen för funktionen melt() i R?
Funktionen melt() i R kan anpassas med hjälp av olika argument.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Detta avser den dataram som du vill omstrukturera.na.rm: Ett valfritt argument som har standardvärdetFALSEvalue.name: Detta valfria argument gör det möjligt att namnge kolumnen som innehåller värdena för de omstrukturerade variablerna i den nya datamängden.id.vars: Ett valfritt argument som anger vilka kolumner som ska behållas som identifierare.columnsanvänds som platshållare.
Låt oss titta på ett exempel:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RDen resulterande dataramen ser ut som följer:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RNu använder vi melt() och omvandlar dataramverket till ett långt format:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RDen omstrukturerade dataramen melted_df ser ut så här:
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 5RResultatet är en dataram som har omstrukturerats till ett långt format. Kolumn ID behölls som identifierare, kolumn variable innehåller det som tidigare var kolumnnamn (A och B) och kolumn Value innehåller motsvarande element. På grundna.rm = FALSE finns det några saknade värden (markerade med NA).
Hur man tar bort NA-poster med R:s melt()
Du kan enkelt ta bort saknade värden i dataramar med alternativet na.rm=True.
Låt oss definiera en ny dataram:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RDataramverket har följande form:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RNu omstrukturerar vi dataramverket med hjälp av melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RDen nya dataramen melted_df finns nu i ett långt format utan NA värden:
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 1ROm du vill lära dig mer om hur man hanterar strängar i R kan du ta en titt på handledningarna för R substring() och R paste() i vår digitala guide.

