Denne tutorial er en fortsættelse af diskussionen om dplyr- pakken. Du lærer, hvordan du arrangerer, filtrerer og grupperer rækker i R.
Den forrige lektion handlede om kolonneoperationer. Denne gang vil fokus være på rækkeoperationer i dplyr .
Vi dækker det grundlæggende, hvilket inkluderer sortering og filtrering af et datasæt og aggregering og opsummering af poster . For at give dig et overblik over, hvad du kan forvente til denne lektion, tænk på en pivottabel i MS Excel.
Indholdsfortegnelse
Kom godt i gang
Åbn et nyt R-script i RStudio.
I lighed med lektionen om kolonneoperationer vil denne demonstration bruge Lahman-datasættet . Download det ved at lave en hurtig google-søgning.
For at bringe Lahman-pakken ind i R skal du køre bibliotek (Lahman) . For at aktivere dplyr- pakken skal du køre library (tidyverse) . Også, at en bedste praksis for navngivning af konventioner i R er at bruge små bogstaver, så tildel teams i teams .

Grundlæggende funktioner til rækkeoperationer
1. Arranger rækker i R
Den første række operation i dpylr er arrangement ( ) . Denne funktion giver dig mulighed for at omarrangere rækker. Det fungerer ved først at arrangere datarammen df og derefter de givne felter.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Lad os f.eks. sortere efter teamID . Kør arrangement (hold, teamID) .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Hvis du vil have dem arrangeret i faldende rækkefølge, skal du bruge funktionen desc ( ) .
For eksempel, hvis du vil sortere efter år i faldende rækkefølge, skal du køre arrangement (hold, desc(yearID)) .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Når du gør dette, tildeler du ikke output tilbage til teams . Du ser bare resultatet i konsollen.
Det er også muligt at sortere efter flere kriterier. For eksempel, hvis du vil sortere efter teamID og derefter yearID i faldende rækkefølge, behøver du kun at køre denne kode:
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Når du sorterer rækker, ændrer du ikke dataene. Dataene bliver bare flyttet rundt. Intet bliver tilføjet eller fjernet.
2. Filtrer rækker i R
Filterfunktionen ( ) tilføjer eller fjerner data afhængigt af de valgte kriterier. Dens grundlæggende kode er:
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Lad os som et eksempel få alle data, hvor yearID er større end eller lig med 2000. Følg filterfunktionens format og indtast de nødvendige oplysninger. Så kør den. Glem ikke at tildele dette til et nyt objekt. I dette tilfælde blev det tildelt moderne .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
For at kontrollere, om rækkerne rent faktisk blev filtreret, kan du bruge dæmpningsfunktionen ( ) . Det angiver antallet af rækker og kolonner i datarammen.
Hvis du kører dim (hold) , vil du se, at datarammen har 2.955 rækker og 48 kolonner.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Hvis du kører dæmpningsfunktionen på moderne , vil du se, at antallet af rækker er blevet reduceret til 630, mens antallet af kolonner forbliver det samme.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Rækkerne er blevet afkortet, fordi nogle af posterne går ud over år 2000.
Filtrer rækker efter flere felter
Det er også muligt at filtrere rækker efter flere felter i R. Du skal bruge AND- og OR- sætningerne.
Lad os f.eks. filtrere hold efter område. I dette tilfælde oprettes et nyt objekt ohio . Filterkriterierne er, at teamID kun skal omfatte Cleveland OG Cincinnati.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Du skal bruge det dobbelte lighedstegnet ( == ) for at kontrollere lighed. Hvis du kun bruger ét lighedstegn, vil R betragte det som en tildelingsoperatør. Brug og-tegnet ( & ) til at repræsentere OG.
For at kontrollere, brug dæmpningsfunktionen . Du vil se, at antallet af rækker er 0.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Det betyder, at der ikke er nogen hold, hvor de begge er baseret i Cleveland og Cincinnati.
Lad os derefter prøve Cleveland ELLER Cincinnati. OR-operatoren er repræsenteret af røroperatoren ( | ). Så alt hvad du skal gøre er at udskifte og-tegnet med røroperatøren og derefter køre det. Kør derefter dæmpningsfunktionen igen .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Du vil se, at der er 251 rækker i stedet for nul.
Hvad nu hvis du glemmer at bruge et dobbelt lighedstegn og i stedet kun bruge et? Her er hvad der sker:
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
RStudio viser en meget nyttig fejlmeddelelse i konsollen, der minder dig om at bruge det dobbelte lighedstegnet.
3. Gruppér efter og opsummer rækker i R
Funktionen gruppe efter ( ) giver dig mulighed for at aggregere poster efter udvalgte kolonner og derefter opsummere en anden kolonne baseret på denne aggregering.
Funktionen gruppe efter ( ) følger denne algoritme:
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Lad os som et eksempel gruppere efter teamID og tildele det til et nyt objekt. I dette tilfælde kaldes det nye objekt teams_ID . Udskriv den derefter.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
I konsollen vil du bemærke, at den første linje siger, at det er en table .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
En tibble er en ryddig forbedring i forhold til den grundlæggende dataramme. Det er en funktion i pakken, der øger og forbedrer, hvad der er tilgængeligt ud af æsken.
Den anden linje er Grupper . Så dataene er nu grupperet efter teamID-kolonnen.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Og med det kan du nu bruge funktionen opsummere ( ) på disse grupper.
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Bemærk: opsummeringsfunktionen kan enten være med et s eller z, og vil afhænge af brugen af britisk eller amerikansk engelsk.
Lad os for eksempel opsummere teams_ID og få nogle grundlæggende oversigtsstatistikker. Lad os se efter gennemsnittet, minimum og maksimum af gevinster for hvert hold. Husk at fremhæve hele koden, før du vælger at køre .
![Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr Arranger, filtrer og grupper rækker i R ved hjælp af Dplyr]()
Du kan derefter se i konsollen, at en oversigt over hvert holds statistik vises. Dette minder meget om en pivottabel, hvor du samler og opsummerer data.
Konklusion
For at opsummere er to operationer i dplyr blevet diskuteret. En tidligere tutorial fokuserede på kolonneoperationer. I mellemtiden viste denne aktuelle lektion dig, hvordan du udfører rækkeoperationer ved hjælp af dplyr -pakken i RStudio. Specifikt lærte du at arrangere, filtrere og gruppere rækker i R.
Den næste ting at lære er, hvordan man kombinerer disse to operationer. Brug af alle de funktioner, du har lært indtil nu, vil i høj grad hjælpe dig med at skabe koder i R. En mere nyttig teknik ville dog være en pipeline. Dette vil hjælpe alt med at flyde sammen. Så sørg for også at gennemgå de næste tutorials.