Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Acest tutorial este o continuare a discuției despre pachetul dplyr . Veți învăța cum să aranjați, să filtrați și să grupați rândurile în R.

Lecția anterioară a fost despre operațiunile coloanei. De data aceasta, accentul se va pune pe operațiunile pe rând în dplyr .

Vom acoperi elementele de bază, care includ sortarea și filtrarea unui set de date și agregarea și rezumarea înregistrărilor . Pentru a vă oferi o imagine de ansamblu asupra la ce să vă așteptați pentru această lecție, gândiți-vă la un tabel pivot în MS Excel.

Cuprins

Noțiuni de bază

Deschideți un nou script R în RStudio.

Similar cu lecția de operațiuni pe coloană, această demonstrație va folosi pachetul de date Lahman . Descărcați-l făcând o căutare rapidă pe google.

Pentru a aduce pachetul Lahman în R, rulați library (Lahman) . Pentru a activa pachetul dplyr , rulați library (tidyverse) . De asemenea, rețineți că cea mai bună practică pentru convențiile de denumire în R este utilizarea literelor mici, așa că atribuiți echipe în echipe .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Funcții de bază pentru operații pe rând

1. Aranjați rândurile în R

Operația pe primul rând în dpylr este aranja ( ) . Această funcție vă permite să reordonați rândurile. Funcționează prin aranjarea mai întâi a cadrului de date df și apoi a câmpurilor date.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

De exemplu, să sortăm după teamID . Rulați aranja (echipe, teamID) .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Dacă doriți ca acestea să fie aranjate în ordine descrescătoare, trebuie să utilizați funcția desc ( ) .

De exemplu, dacă doriți să sortați după an în ordine descrescătoare, rulați aranja (echipe, desc(yearID)) .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Când faceți acest lucru, nu atribuiți rezultatul înapoi echipelor . Doar vezi rezultatul în Consolă.

De asemenea, este posibil să sortați după mai multe criterii. De exemplu, dacă doriți să sortați după teamID și apoi yearID în ordine descrescătoare, trebuie doar să rulați acest cod:

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Când sortați rândurile, nu modificați datele. Datele sunt doar mutate. Nimic nu este adăugat sau eliminat.

2. Filtrați rândurile în R

Funcția de filtru ( ) adaugă sau elimină date în funcție de criteriile selectate. Codul său de bază este:

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

De exemplu, să obținem toate datele în care yearID este mai mare sau egal cu 2000. Urmați formatul funcției de filtrare și introduceți informațiile necesare. Apoi, rulează-l. Nu uitați să atribuiți acest lucru unui obiect nou. În acest caz, a fost atribuit modern .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Pentru a verifica dacă rândurile au fost într-adevăr filtrate, puteți utiliza funcția dim ( ) . Oferă numărul de rânduri și coloane din cadrul de date.

Dacă rulați dim (echipe) , veți vedea că cadrul de date are 2.955 de rânduri și 48 de coloane.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Dacă rulați funcția dim pe modern , veți vedea că numărul de rânduri a fost redus la 630, în timp ce numărul de coloane rămâne același.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Rândurile au fost trunchiate deoarece unele dintre înregistrări depășesc anul 2000.

Filtrați rândurile după mai multe câmpuri

De asemenea, este posibil să filtrați rândurile după mai multe câmpuri în R. Va trebui să utilizați instrucțiunile AND și OR .

De exemplu, să filtram echipele după zonă. În acest caz, este creat un nou obiect ohio . Criteriile de filtrare sunt ca ID-ul echipei să includă numai Cleveland ȘI Cincinnati.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Trebuie să utilizați semnul egal dublu ( == ) pentru a verifica egalitatea. Dacă utilizați un singur semn egal, R îl va considera un operator de atribuire. Utilizați ampersand ( & ) pentru a reprezenta AND.

Pentru a verifica, utilizați funcția dim . Veți vedea că numărul de rânduri este 0.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Aceasta înseamnă că nu există echipe în care ambele să aibă sediul în Cleveland și Cincinnati.

Apoi, să încercăm Cleveland SAU Cincinnati. Operatorul SAU este reprezentat de operatorul conductei ( | ). Deci, tot ce trebuie să faceți este să înlocuiți și ampersand cu operatorul de țeavă și apoi să îl rulați. După aceea, rulați din nou funcția dim .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Veți vedea că există 251 de rânduri în loc de zero.

Acum, ce se întâmplă dacă uitați să utilizați un semn egal dublu și, în schimb, folosiți doar unul? Iată ce se întâmplă:

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

RStudio va afișa un mesaj de eroare foarte util în Consolă, care vă va aminti să utilizați semnul egal dublu.

3. Grupați după și rezumați rândurile în R

Funcția de grupare după ( ) vă permite să agregați înregistrările după coloanele selectate și apoi, pe baza acelei agregari, să rezumați o altă coloană.

Funcția grupare după ( ) urmează acest algoritm:

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

De exemplu, să grupăm după teamID și să-l atribuim unui obiect nou. În acest caz, noul obiect se numește teams_ID . Apoi, tipăriți-l.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

În Consolă, veți observa că prima linie spune că este un tibble .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Un tibble este o îmbunătățire ordonată față de cadrul de date de bază. Este o caracteristică a pachetului care mărește și îmbunătățește ceea ce este disponibil imediat.

A doua linie este Grupuri . Deci, datele sunt acum grupate după coloana teamID.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Și cu asta, acum puteți utiliza funcția de rezumat ( ) pe acele grupuri.

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Notă: funcția de rezumat poate fi fie cu s, fie cu z și va depinde de utilizarea englezei britanice sau americane.

De exemplu, să rezumăm teams_ID și să obținem câteva statistici rezumative de bază. Să căutăm media, minimul și maximul câștigurilor pentru fiecare echipă. Nu uitați să evidențiați întregul cod înainte de a alege Run .

Aranjați, filtrați și grupați rândurile în R folosind Dplyr

Apoi puteți vedea în Consolă că este afișat un rezumat al statisticilor fiecărei echipe. Acesta este foarte asemănător cu un tabel pivot în care agregați și rezumați datele.


Cadre de date în R: Învățarea elementelor de bază
Nivelurile factorilor în R: Utilizarea variabilelor categoriale și ordinale
Adăugați, eliminați și redenumim coloane în R folosind dplyr

Concluzie

Pentru a recapitula, au fost discutate două operațiuni în dplyr. Un tutorial anterior s-a concentrat pe operațiunile coloanei. Între timp, această lecție actuală v-a arătat cum să efectuați operații pe rând folosind pachetul dplyr din RStudio. Mai exact, ați învățat cum să aranjați, să filtrați și să grupați rândurile în R.

Următorul lucru de învățat este cum să combinați aceste două operațiuni. Folosirea tuturor funcțiilor pe care le-ați învățat până acum vă va ajuta foarte mult să creați coduri în R. Cu toate acestea, o tehnică mai utilă ar fi o conductă. Acest lucru va ajuta totul să curgă împreună. Deci, asigurați-vă că revizuiți și următoarele tutoriale.


Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți