Kā pārstrukturēt datu rāmjus ar R funkciju melt
Datu rāmju konvertēšana ar funkciju melt() programmā R atvieglo pielāgošanos dažādām prasībām. Daudzas analīzes metodes, piemēram, lineārie modeļi un ANOVA, dod priekšroku datiem garā formātā, jo tas ir dabiskāks un vieglāk interpretējams.
Kādam nolūkam tiek izmantota R funkcija melt()?
R funkcija melt() pieder reshape2 paketam un tiek izmantota, lai pārstrukturētu datu rāmjus, jo īpaši, lai tos konvertētu no plaša formāta uz garu formātu. Plašā formātā mainīgie ir organizēti atsevišķās kolonnās, savukārt garā formātā tie ir labāk redzami analīzēm un vizualizācijām.
R programmā esošā melt() funkcija ir būtisks datu pārveidošanas rīks. Tā ir īpaši noderīga gadījumos, kad informācija ir pieejama tikai plašā formātā, bet noteiktām analīzēm vai grafikam ir nepieciešams garš formāts. Šī datu pārstrukturēšanas opcija palielina datu rāmju elastīgumu un ļauj optimāli izmantot dažādus R analīzes rīkus un vizualizācijas bibliotēkas.
Kāda ir R funkcijas melt() sintakse?
R programmā funkciju melt() var pielāgot, izmantojot dažādus argumentus.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Tas attiecas uz datu rāmi, kuru vēlaties pārstrukturētna.rm: fakultatīvs arguments, kura noklusējuma vērtība irFALSEvalue.name: Šis fakultatīvais arguments ļauj nosaukt kolonnu, kas satur pārstrukturēto mainīgo vērtības jaunajā datu kopāid.vars: fakultatīvs arguments, kas norāda, kuras kolonnas jāpatur kā identifikatori.columnstiek izmantots kā vietas aizvietotājs.
Apskatīsim piemēru:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RRezultātā iegūtais datu rāmis izskatās šādi:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RTagad izmantosim melt() un pārveidosim datu rāmi garā formātā:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RPārstrukturētais datu rāmis melted_df izskatās šādi:
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 5RRezultāts ir datu rāmis, kas pārstrukturēts garā formātā. ID kolonna tika saglabāta kā identifikators, variable kolonna satur iepriekšējos kolonnu nosaukumus (A un B), bet Value kolonna satur atbilstošos elementus. Sakarāna.rm = FALSE ir daži trūkstoši vērtības (atzīmētas ar NA).
Kā izdzēst NA ierakstus ar R funkciju melt()
Ar opciju na.rm=True var viegli izņemt trūkstošās vērtības datu rāmjos.
Definēsim jaunu datu rāmi:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RDatu rāmis ir šādā formā:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RTagad mēs pārstrukturēsim datu rāmi, izmantojot melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RJaunais datu rāmis melted_df tagad pastāv garā formātā bez NA vērtībām:
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 1RJa vēlaties uzzināt, kā apstrādāt virknes R, apskatiet mūsu digitālajā ceļvedī pieejamos R substring() un R paste() apmācību materiālus.