Kuinka jäsentää data-kehyksiä uudelleen R:n melt-toiminnolla
Tietokehysten muuntaminen R-kielessä melt() helpottaa sopeutumista erilaisiin vaatimuksiin. Monet analyysimenetelmät, kuten lineaariset mallit ja ANOVA, suosivat pitkän muodon tietoja, koska ne ovat luonnollisempia ja helpompia tulkita.
Mihin R:n melt()-funktiota käytetään?
R:n melt() kuuluu reshape2 ja sitä käytetään data-kehysten uudelleenjärjestelyyn, erityisesti niiden muuntamiseen leveästä muodosta pitkään muotoon. Leveässä muodossa muuttujat on järjestetty erillisiin sarakkeisiin, kun taas pitkä muoto tarjoaa paremman näytön analyysejä ja visualisointeja varten.
R:n melt() on välttämätön työkalu tietojen muuntamiseen. Se on erityisen tärkeä, kun tiedot ovat saatavilla vain leveässä muodossa, mutta tietyt analyysit tai grafiikat edellyttävät pitkää muotoa. Tämä tietojen uudelleenjärjestelyvaihtoehto lisää tietokehysten joustavuutta ja mahdollistaa erilaisten R-analyysityökalujen ja visualisointikirjastojen optimaalisen käytön.
Mikä on R:n melt()-funktion syntaksi?
R:n melt() -funktiota voidaan mukauttaa käyttämällä erilaisia argumentteja.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Tämä viittaa data-kehykseen, jonka haluatte uudelleenjärjestääna.rm: Valinnainen argumentti, jonka oletusarvo onFALSEvalue.name: Tämän valinnaisen argumentin avulla voit nimetä sarakkeen, joka sisältää uudelleenjärjestettyjen muuttujien arvot uudessa tietojoukossaid.vars: Valinnainen argumentti, joka ilmaisee, mitkä sarakkeet on säilytettävä tunnisteina.columnskäytetään paikanpitäjänä.
Katsotaanpa esimerkkiä:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RTuloksena oleva tietorakenne näyttää seuraavalta:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RNyt käytämme melt() ja muunnamme data-kehyksen pitkään muotoon:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RUudelleenjärjestetty tietorakenne melted_df näyttää tältä:
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 5RTuloksena on pitkään muotoon uudelleenjärjestetty tietokehys. Sarake ID on säilytetty tunnisteena, sarake variable sisältää aiemmat sarakkeiden nimet (A ja B) ja sarake Value sisältää vastaavat elementit.na.rm = FALSE vuoksi joitakin arvoja puuttuu (merkitty kohdalla NA).
Kuinka poistaa NA-merkinnät R:n melt()-komennolla
Voit poistaa puuttuvat arvot helposti data-kehyksistä vaihtoehdolla na.rm=True.
Määritellään uusi tietokehys:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RTietokehys on seuraavanlainen:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RNyt rakennamme data-kehyksen uudelleen käyttämällä melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RUusi tietokehys melted_df on nyt pitkässä muodossa ilman NA arvoa:
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 1RJos haluat oppia merkkijonojen käsittelystä R-kielellä, tutustu R substring() - ja R paste() -oppaaseen digitaalisessa oppaassamme.