Kuidas ümber struktureerida andmeraamistikke R-i sulatusfunktsiooniga
Andmeraamistikute teisendamine R-keele funktsiooniga melt() muudab erinevate nõuete täitmise lihtsamaks. Paljud analüüsimeetodid, nagu lineaarsed mudelid ja ANOVA, eelistavad pikaformaadis andmeid, kuna need on loomulikumad ja lihtsamini tõlgendatavad.
Milleks kasutatakse R-i funktsiooni melt()?
R-i funktsioon melt() kuulub paketti reshape2 ja seda kasutatakse andmeraamistike ümberstruktureerimiseks, eelkõige nende teisendamiseks laia formaadist pikasse formaati. Laias formaadis on muutujad organiseeritud eraldi veergudesse, samas kui pikk formaat pakub paremat kuvamist analüüside ja visualiseerimiste jaoks.
R-i melt() funktsioon on andmete teisendamiseks hädavajalik vahend. See on eriti oluline juhul, kui teave on kättesaadav ainult laia formaadis, kuid teatud analüüsid või graafikud nõuavad pikka formaati. See andmete ümberstruktureerimise võimalus suurendab andmeraamistikute paindlikkust ja võimaldab optimaalselt kasutada erinevaid R-i analüüsivahendeid ja visualiseerimisraamatukogusid.
Milline on R-i funktsiooni melt() süntaks?
R-i funktsiooni melt() saab kohandada erinevate argumentide abil.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: See viitab andmeraamile, mida soovite ümber struktureeridana.rm: Valikuline argument, mille vaikimisi väärtus onFALSEvalue.name: See valikuline argument võimaldab teil nimetada veeru, mis sisaldab ümberstruktureeritud muutujate väärtusi uues andmekogumisid.vars: Valikuline argument, mis näitab, millised veerud tuleks identifikaatoritena säilitada.columnskasutatakse asendusmärgina.
Vaatame ühte näidet:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RSaadud andmeraamistik näeb välja järgmine:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RNüüd kasutame melt() ja teisendame andmeraamistiku pikaks formaadiks:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RÜmberstruktureeritud andmeraamistik melted_df näeb välja järgmine:
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 5RTulemuseks on andmeraamistik, mis on ümber struktureeritud pikaks formaadiks. ID veerg säiliti identifikaatorina, variable veerg sisaldab varasemaid veerunimesid (A ja B) ning Value veerg sisaldab vastavaid elemente.na.rm = FALSE tõttu on mõned väärtused puudu (märgitud NA veeruga).
Kuidas eemaldada NA-kandeid R-i melt() abil
Puuduvad väärtused andmeraamides saab hõlpsasti eemaldada valikuga na.rm=True.
Määratleme uue andmeraamistiku:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RAndmeraam on järgmise kujuga:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RNüüd struktureerime andmeraamistiku ümber, kasutades melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RUus andmeraamistik melted_df on nüüd pikk formaat ilma NA väärtuseta:
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 1RKui soovite õppida, kuidas R-is stringe manipuleerida, vaadake meie digitaalses juhendis R substring() ja R paste() õpetusi.