Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Denna handledning är en fortsättning på diskussionen om dplyr -paketet. Du lär dig hur du ordnar, filtrerar och grupperar rader i R.

Förra lektionen handlade om kolumnoperationer. Den här gången kommer fokus att ligga på raddrift i dplyr .

Vi kommer att täcka grunderna som inkluderar sortering och filtrering av en datauppsättning och aggregering och sammanfattning av poster . För att ge dig en överblick över vad du kan förvänta dig för den här lektionen, tänk på en pivottabell i MS Excel.

Innehållsförteckning

Komma igång

Öppna ett nytt R-skript i RStudio.

På samma sätt som i kolumnoperationslektionen kommer denna demonstration att använda Lahmans datauppsättningspaket . Ladda ner den genom att göra en snabb google-sökning.

För att ta med Lahman-paketet till R, kör bibliotek (Lahman) . För att aktivera dplyr -paketet, kör library (tidyverse) . Dessutom att en bästa praxis för att namnge konventioner i R är att använda små bokstäver så tilldela Teams i team .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Grundläggande funktioner för radoperationer

1. Ordna rader i R

Den första radens operation i dpylr är arrangera ( ) . Denna funktion låter dig ändra ordning på rader. Det fungerar genom att först ordna dataramen df och sedan de givna fälten.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Låt oss till exempel sortera efter teamID . Kör arrangera (lag, teamID) .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Om du vill att de ska ordnas i fallande ordning måste du använda funktionen desc ( ) .

Som ett exempel, om du vill sortera efter år i fallande ordning, kör arrangera (team, desc(yearID)) .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

När du gör detta tilldelar du inte utdata tillbaka till team . Du ser bara resultatet i konsolen.

Det är också möjligt att sortera efter flera kriterier. Om du till exempel vill sortera efter teamID och sedan yearID i fallande ordning behöver du bara köra denna kod:

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

När du sorterar rader ändrar du inte data. Data flyttas bara runt. Inget läggs till eller tas bort.

2. Filtrera rader i R

Filterfunktionen ( ) lägger till eller tar bort data beroende på de valda kriterierna. Dess grundläggande kod är:

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Som ett exempel, låt oss få all data där yearID är större än eller lika med 2000. Följ filterfunktionens format och mata in den information som behövs. Kör sedan. Glöm inte att tilldela detta till ett nytt objekt. I det här fallet tilldelades den modern .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

För att kontrollera om raderna verkligen var filtrerade kan du använda funktionen dim ( ) . Den anger antalet rader och kolumner i dataramen.

Om du kör dim (lag) ser du att dataramen har 2 955 rader och 48 kolumner.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Om du kör nedtoningsfunktionenmodern ser du att antalet rader har reducerats till 630 medan antalet kolumner förblir detsamma.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Raderna har trunkerats eftersom vissa av posterna går längre än år 2000.

Filtrera rader efter flera fält

Det är också möjligt att filtrera rader efter flera fält i R. Du måste använda AND- och OR -satserna.

Låt oss till exempel filtrera lag efter område. I detta fall skapas ett nytt objekt ohio . Filterkriterierna är att teamID endast ska inkludera Cleveland OCH Cincinnati.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Du måste använda det dubbla likhetstecknet ( == ) för att kontrollera likheten. Om du bara använder ett likhetstecken kommer R att betrakta det som en tilldelningsoperatör. Använd et-tecken ( & ) för att representera OCH.

För att kontrollera, använd dimfunktionen . Du kommer att se att antalet rader är 0.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Det betyder att det inte finns några lag där de båda är baserade i Cleveland och Cincinnati.

Låt oss sedan prova Cleveland ELLER Cincinnati. OR-operatorn representeras av röroperatorn ( | ). Så allt du behöver göra är att byta ut et-tecken med röroperatören och sedan köra det. Kör sedan dimfunktionen igen.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Du kommer att se att det finns 251 rader istället för noll.

Vad händer nu om du glömmer att använda ett dubbelt likhetstecken och istället använder bara ett? Så här händer:

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

RStudio kommer att visa ett mycket användbart felmeddelande i konsolen som påminner dig om att använda det dubbla likhetstecknet.

3. Gruppera efter och sammanfatta rader i R

Funktionen gruppera efter ( ) låter dig aggregera poster efter valda kolumner och sedan, baserat på den sammanställningen, sammanfatta en annan kolumn.

Funktionen grupp efter ( ) följer denna algoritm:

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Som ett exempel, låt oss gruppera efter teamID och tilldela det till ett nytt objekt. I det här fallet kallas det nya objektet teams_ID . Skriv sedan ut den.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

I konsolen kommer du att märka att den första raden säger att det är en tibble .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

En tibble är en rejäl förbättring jämfört med den grundläggande dataramen. Det är en funktion i paketet som förstärker och förbättrar det som finns tillgängligt direkt från förpackningen.

Den andra raden är Grupper . Så, data är nu grupperade efter teamID-kolumnen.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Och med det kan du nu använda funktionen summera ( ) på dessa grupper.

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Notera: sammanfattningsfunktionen kan antingen vara med ett s eller z, och beror på användningen av brittisk eller amerikansk engelska.

Låt oss till exempel sammanfatta teams_ID och få lite grundläggande sammanfattningsstatistik. Låt oss leta efter medelvärdet, minimum och maximum av vinsterna för varje lag. Kom ihåg att markera hela koden innan du väljer att köra .

Ordna, filtrera och gruppera rader i R med hjälp av Dplyr

Du kan sedan se i konsolen att en sammanfattning av varje lags statistik visas. Detta påminner mycket om en pivottabell där du aggregerar och sammanfattar data.




Slutsats

För att sammanfatta har två operationer i dplyr diskuterats. En tidigare handledning fokuserade på kolumnoperationer. Samtidigt visade den här aktuella lektionen dig hur du utför radoperationer med hjälp av dplyr -paketet i RStudio. Specifikt lärde du dig att ordna, filtrera och gruppera rader i R.

Nästa sak att lära sig är hur man kombinerar dessa två operationer. Att använda alla funktioner du har lärt dig hittills kommer att hjälpa dig att skapa koder i R. En mer användbar teknik skulle dock vara en pipeline. Detta kommer att hjälpa allt att flyta ihop. Så se till att granska nästa handledning också.


Pipe In R: Anslutningsfunktioner med Dplyr

Pipe In R: Anslutningsfunktioner med Dplyr

I den här handledningen kommer du att lära dig hur du kopplar ihop funktioner med hjälp av dplyr-röroperatorn i programmeringsspråket R.

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX Deep Dive: A Lucky Templates DAX-funktion

RANKX från LuckyTemplates låter dig returnera rankningen av ett specifikt nummer i varje tabellrad som utgör en del av en lista med nummer.

Extrahera LuckyTemplates-teman och bilder från PBIX

Extrahera LuckyTemplates-teman och bilder från PBIX

Lär dig hur du tar isär en PBIX-fil för att extrahera LuckyTemplates-teman och bilder från bakgrunden och använda den för att skapa din rapport!

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

Excel Formler Fuskblad: Mellanvägledning

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

LuckyTemplates Kalendertabell: Vad är det och hur man använder det

Python i LuckyTemplates: Hur man installerar och ställer in

Python i LuckyTemplates: Hur man installerar och ställer in

Lär dig hur du installerar programmeringsspråket Python i LuckyTemplates och hur du använder dess verktyg för att skriva koder och visa bilder.

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Beräkna dynamiska vinstmarginaler – enkel analys av LuckyTemplates med DAX

Lär dig hur du beräknar dynamiska vinstmarginaler vid sidan av LuckyTemplates och hur du kan få fler insikter genom att gräva djupare i resultaten.

Sortering av datumtabellkolumner i LuckyTemplates

Sortering av datumtabellkolumner i LuckyTemplates

Lär dig hur du sorterar fälten från en utökad datumtabells kolumner korrekt. Detta är en bra strategi att göra för svåra fält.

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

Hitta dina bästa produkter för varje region i LuckyTemplates med DAX

I den här artikeln går jag igenom hur du kan hitta dina toppprodukter per region med hjälp av DAX-beräkningar i LuckyTemplates, inklusive TOPN- och CALCULATE-funktionerna.

Skräpdimension: Vad är det och varför det är allt annat än skräp

Skräpdimension: Vad är det och varför det är allt annat än skräp

Lär dig hur du använder en skräpdimension för flaggor med låg kardinalitet som du vill infoga i din datamodell på ett effektivt sätt.