Stăpânește bucla for pentru a eficientiza calculele complexe și alte operațiuni repetitive.
Buclele sunt o structură de bază în programare care iau un bloc de cod și îl rulează în mod repetat. Buclele For sunt unul dintre tipurile de bucle pe care le conțin aproape toate limbile. Buclele R pentru sunt o parte integrantă a analizei datelor.
Acestea servesc o varietate de scopuri, de la formatarea ieșirii la executarea calculelor pe seturi mari de date. Utilizarea buclelor for în R face analiza datelor mai ușor de realizat.
R’s Basic for Loop
Buclele for ale limbajului R funcționează similar cu standardul pentru bucle găsite în Go și majoritatea celorlalte limbaje de programare. Având în vedere un punct de pornire, va rula codul conținut în el de un anumit număr de ori.
Un contor deține iterația pe care bucla este activată în prezent și o puteți accesa din blocul de cod asociat. Buclele pot rula pentru un număr fix de iterații sau pentru lungimea totală a unui tablou, vector sau listă.
Bucle de iterație fixe
Buclele de iterație fixe în R iau următoarea formă:
pentru (X în1:10) {
imprimare (x)
}
X din buclă este variabila care va stoca iterația buclei.
După cuvântul cheie „in” sunt punctele de început și de sfârșit ale buclei. Bucla își va începe iteratorul la primul număr.
După fiecare rulare a codului din buclă, acesta va verifica dacă iteratorul este egal cu numărul de după două puncte.
Dacă este, execuția codului va continua după buclă. Dacă nu este, iteratorul va crește cu 1, iar blocul de cod din paranteze va rula din nou.
Pentru bucle pe matrice, liste și vectori
Exact ca parcurgerea unui dicționar în Python, puteți repeta peste structurile de date adecvate în R folosind bucla for. Puteți utiliza orice structură de date repetabilă după cuvântul cheie „în”, în locul unui punct de început și de final fix.
Buclă în acest fel va schimba comportamentul codului. Aici, bucla va funcționa ca o buclă foreach din limbaje precum C#:
angajați "Ben", "Jane", "Suzi", "Josh", "Carol")
pentru (X în angajați) {
imprimare (x)
}
Acum, în loc ca x să țină iterația curentă a buclei, va reține obiectul din matricea sau lista în care se află bucla în prezent. După finalizarea fiecărei bucle, dacă există mai multe elemente în listă, matrice sau vector, x va fi setat la următorul articol. Dacă nu există mai multe elemente, atunci execuția va continua cu codul după buclă.
Funcția c primitivă și buclele for
Pe lângă structurile de date deja populate, R poate compune una nouă în declarația buclei for. Pentru a face acest lucru, utilizați funcția c pentru a combina mai multe elemente într-un vector nou.
Puteți simplifica exemplul de mai sus folosind această metodă:
pentru (X în c("Ben", "Jane", "Suzi", "Josh", "Carol")) {
imprimare (x)
}
Rețineți că rezultatul este la fel ca înainte:
Declarațiile de salt ale lui R
Două declarații vă permit să săriți peste iterațiile buclei: break și next. Ei realizează acest lucru în moduri diferite. Ar trebui să te asiguri că știi diferența dintre cele două.
Cuvântul cheie pauză
Când o buclă întâlnește o instrucțiune break în interiorul ei, ea închide imediat bucla. Deoarece programul iese din buclă odată ce atinge cuvântul cheie break, nu va rula din nou codul rămas:
zile "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă",
"Duminică")pentru (X în zile) {
dacă (x == "Sâmbătă") {
pauză
}
imprimare (x)
}
Bucla de mai sus va tipări toate zilele lucrătoare, dar niciuna dintre zilele de weekend.
Următorul cuvânt cheie
Următorul cuvânt cheie omite, de asemenea, o iterație, dar, spre deosebire de pauză, următorul nu închide bucla imediat. Bucla care rămâne deschisă înseamnă că orice cod suplimentar din bucla curentă nu va rula, dar următoarea iterație va continua așa cum a fost planificat:
zile "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă",
"Duminică")pentru (X în zile) {
dacă (x == "Sâmbătă") {
Următorul
}
imprimare (x)
}
Această buclă va ieși în fiecare zi a săptămânii și duminică, dar nu va fi tipărită sâmbătă.
Exemplu pentru bucle în R
Există o mare varietate de situații în care buclele for sunt utile în R. Acestea pot fi o modalitate excelentă de a rula calcule repetitive, cum ar fi adăugarea de numere pentru a obține un total:
comenzi 23.4, 699.8, 1042.0)
total 0.0pentru (Ordin în Comenzi) {
total }
pisică("totalul este $", total, "\n")
Acest exemplu va adăuga un total de comandă din fiecare comandă individuală dintr-o listă la totalul total.
Alternativ, o buclă for vă poate ajuta să scoateți rapid și ușor cantități mari de date bine formatate:
day_totals 567.82, 364.72, 762.81, 354.99, 622.87)
pentru (zi în1:length (day_totals)) {
pisică(„Ziua #”, zi, ": $", day_totals[zi],"\n")
zi 1
}
Puteți utiliza o buclă for pentru a imprima fiecare zi a săptămânii și vânzările totale pentru ziua respectivă.
Puteți utiliza o buclă for pentru a calcula rezultatele și a le pune la dispoziție pentru codificare în afara buclei for, pentru a obține o varietate de informații:
test_scores 67, 89, 72, 44)
scor_total 0
num_teste 0pentru (Scor în rezultatele testului) {
scor_total num_teste 1
}
scor_mediu printare (scor_mediu)
Bucla de mai sus va calcula scorul mediu obținut de studenți la un test.
Tot ce trebuie să știți despre buclele R’s for
Este esențial să înveți cum să rulezi un anumit număr de bucle sau să iterați peste un set de date fără o lungime fixă.
Indiferent dacă trebuie să efectuați calcule repetate pe o matrice, să tipăriți fiecare articol dintr-o listă sau să afișați un lot mare de date într-o formă care poate fi citită, bucla R poate ajuta.
Înțelegerea principiilor care stau la baza buclelor for este o abilitate valoroasă pe care trebuie să o aveți în arsenalul dvs., iar stăpânirea acesteia vă poate ajuta să scrieți cod simplu și ușor de citit.