Kaip pertvarkyti duomenų rėmus naudojant R funkciją „melt“
Duomenų rėmelių konvertavimas naudojant R programos funkciją melt() palengvina prisitaikymą prie įvairių reikalavimų. Daugelis analizės metodų, pvz., linijiniai modeliai ir ANOVA, teikia pirmenybę ilgam formatui, nes jis yra natūralesnis ir lengviau interpretuojamas.
Kam naudojama R funkcija melt()?
R funkcija melt() priklauso reshape2 paketui ir yra naudojama duomenų rėmams pertvarkyti, ypač juos konvertuoti iš plataus formato į ilgą formatą. Plataus formato atveju kintamieji yra išdėstyti atskirose stulpeliuose, o ilgo formato atveju jie yra geriau matomi analizės ir vizualizacijos tikslais.
R programos funkcija melt() yra būtinas įrankis duomenų transformavimui. Ji ypač naudinga, kai informacija yra prieinama tik plačiu formatu, o tam tikroms analizėms ar grafikams reikalingas ilgas formatas. Ši duomenų restruktūrizavimo galimybė padidina duomenų rėmelių lankstumą ir leidžia optimaliai naudoti įvairius R analizės įrankius ir vizualizavimo bibliotekas.
Kokia yra R funkcijos melt() sintaksė?
R programos funkcija melt() gali būti pritaikyta naudojant įvairius argumentus.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Tai reiškia duomenų rėmelį, kurį norite pertvarkytina.rm: neprivalomas argumentas, kurio numatytoji reikšmė yraFALSEvalue.name: Šis neprivalomas argumentas leidžia pavadinti stulpelį, kuriame yra pertvarkytų kintamųjų reikšmės naujame duomenų rinkinyje.id.vars: neprivalomas argumentas, kuris nurodo, kurios stulpeliai turėtų būti palikti kaip identifikatoriai.columnsnaudojamas kaip vietos laikiklis.
Pažvelkime į pavyzdį:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RGautas duomenų rėmelis atrodo taip:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RDabar panaudosime melt() ir transformuosime duomenų rėmelį į ilgą formatą:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RPertvarkytas duomenų rėmelis melted_df atrodo taip:
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 5RRezultatas – duomenų rėmelis, pertvarkytas į ilgą formatą. ID stulpelis buvo paliktas kaip identifikatorius, variable stulpelis yra tai, kas anksčiau buvo stulpelių pavadinimai (A ir B), o Value stulpelis yra atitinkami elementai. Dėlna.rm = FALSE yra keletas trūkstamų verčių (pažymėtų NA).
Kaip pašalinti NA įrašus naudojant R funkciją melt()
Naudodami parinktį na.rm=True, galite lengvai pašalinti trūkstamas reikšmes duomenų rėmuose.
Apibrėžkime naują duomenų rėmelį:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RDuomenų rėmelis turi tokią formą:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RDabar pertvarkysime duomenų rėmelį naudodami melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RNaujas duomenų rėmelis melted_df dabar yra ilgo formato be NA verčių:
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 1RJei norite sužinoti, kaip manipuliuoti eilutėmis R kalboje, peržiūrėkite mūsų skaitmeniniame vadove esančius R substring() ir R paste() pamokėles.