Opanuj pętlę for, aby usprawnić złożone obliczenia i inne powtarzalne operacje.
Pętle to podstawowa struktura w programowaniu, która pobiera blok kodu i wykonuje go wielokrotnie. Pętle for są jednym z rodzajów pętli, które zawierają prawie wszystkie języki. Pętle for są integralną częścią analizy danych.
Służą różnym celom, od formatowania danych wyjściowych po wykonywanie obliczeń na dużych zbiorach danych. Użycie pętli for w R ułatwia analizę danych.
R's Basic for Loop
Pętla for języka R działa podobnie do standardu dla pętli znalezionych w Go i większość innych języków programowania. Biorąc pod uwagę punkt początkowy, uruchomi zawarty w nim kod określoną liczbę razy.
Licznik zawiera iterację, w której pętla jest aktualnie włączona, i można uzyskać do niego dostęp z powiązanego bloku kodu. Pętle mogą działać przez określoną liczbę iteracji lub przez całą długość tablicy, wektora lub listy.
Naprawiono pętle iteracji
Naprawione pętle iteracyjne w R mają następującą postać:
Do (X W1:10) {
drukuj (x)
}
X w pętli to zmienna, która będzie przechowywać iterację pętli.
Po słowie kluczowym „in” znajdują się punkty początkowe i końcowe pętli. Pętla uruchomi swój iterator od pierwszej liczby.
Po każdym uruchomieniu kodu w pętli sprawdza, czy iterator jest równy liczbie po dwukropku.
Jeśli tak, wykonywanie kodu będzie kontynuowane po zakończeniu pętli. Jeśli tak nie jest, iterator zwiększy się o 1, a blok kodu w nawiasach zostanie uruchomiony ponownie.
Pętle for na tablicach, listach i wektorach
Tak jak zapętlanie słownika w Pythonie, możesz iterować po odpowiednich strukturach danych w języku R za pomocą pętli for. Możesz użyć dowolnej iterowalnej struktury danych po słowie kluczowym „in”, zamiast ustalonego punktu początkowego i końcowego.
Zapętlenie w ten sposób zmieni zachowanie kodu. Tutaj pętla będzie działać jak pętla foreach z języków takich jak C#:
pracownicy "Ben", „Jane”, „Suzi”, „Josh”, "Kolęda")
Do (X W pracownicy) {
drukuj (x)
}
Teraz zamiast x trzymać bieżącą iterację pętli, będzie ona przechowywać obiekt z tablicy lub listy, na której aktualnie znajduje się pętla. Po zakończeniu każdej pętli, jeśli na liście, tablicy lub wektorze jest więcej elementów, x zostanie ustawione na następny element. Jeśli nie ma więcej elementów, wykonywanie będzie kontynuowane z kodem po pętli.
Funkcja pierwotna c i pętle for
Oprócz już wypełnionych struktur danych, R może utworzyć nową w deklaracji pętli for. Aby to zrobić, użyj funkcji c, aby połączyć wiele elementów w nowy wektor.
Możesz uprościć powyższy przykład za pomocą tej metody:
Do (X W C("Ben", „Jane”, „Suzi”, „Josh”, "Kolęda")) {
drukuj (x)
}
Zauważ, że dane wyjściowe są takie same jak poprzednio:
Instrukcje skoku R
Dwie instrukcje pozwalają pominąć iteracje pętli: break i next. Realizują to na różne sposoby. Powinieneś upewnić się, że znasz różnicę między nimi.
Przerwa Słowo kluczowe
Kiedy pętla napotka wewnątrz siebie instrukcję break, natychmiast ją zamyka. Ponieważ program wychodzi z pętli po naciśnięciu słowa kluczowego break, nie uruchomi ponownie żadnego z pozostałych kodów:
dni "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota",
"Niedziela")Do (X W dni) {
Jeśli (x == "Sobota") {
przerwa
}
drukuj (x)
}
Powyższa pętla wypisze wszystkie dni powszednie, ale żadne z dni weekendowych.
Następne słowo kluczowe
Słowo kluczowe next również pomija iterację, ale w przeciwieństwie do break nie powoduje natychmiastowego zamknięcia pętli. Pozostawienie otwartej pętli oznacza, że żaden dodatkowy kod w bieżącej pętli nie zostanie uruchomiony, ale następna iteracja będzie kontynuowana zgodnie z planem:
dni "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota",
"Niedziela")Do (X W dni) {
Jeśli (x == "Sobota") {
Następny
}
drukuj (x)
}
Ta pętla wyświetli każdy dzień tygodnia i niedzielę, ale nie wydrukuje w sobotę.
Przykład pętli w R
Istnieje wiele różnych sytuacji, w których pętle for są przydatne w języku R. Mogą być świetnym sposobem na przeprowadzanie powtarzających się obliczeń, takich jak dodawanie liczb w celu uzyskania sumy:
zamówienia 23.4, 699.8, 1042.0)
razem 0.0Do (zamówienie W Zamówienia) {
suma }
kot(„łącznie jest $”, całkowity, "\N")
Ten przykład doda sumę zamówienia z każdego pojedynczego zamówienia na liście do sumy ogólnej.
Alternatywnie, pętla for może pomóc w szybkim i łatwym generowaniu dużych ilości dobrze sformatowanych danych:
day_totals 567.82, 364.72, 762.81, 354.99, 622.87)
Do (dzień W1:długość (day_totals)) {
kot("Dzień #", dzień, ": $", dzień_sumy[dzień],"\N")
dzień 1
}
Możesz użyć pętli for, aby wydrukować każdy dzień tygodnia i całkowitą sprzedaż dla tego konkretnego dnia.
Możesz użyć pętli for, aby obliczyć wyniki i udostępnić je kodowi poza pętlą for, aby uzyskać różnorodne informacje:
wyniki_testu 67, 89, 72, 44)
wynik_suma 0
liczba_testów 0Do (wynik W wyniki testu) {
suma_wyników liczba_testów 1
}
średni_wynik drukuj (średnia_wynik)
Powyższa pętla obliczy średni wynik uzyskany przez uczniów na teście.
Wszystko, co musisz wiedzieć o R's for Loops
Niezbędne jest nauczenie się wykonywania określonej liczby pętli lub iteracji zestawu danych bez ustalonej długości.
Niezależnie od tego, czy chcesz wykonać powtarzające się obliczenia na tablicy, wydrukować każdy element na liście, czy pokazać dużą partię danych w czytelnej formie, pętla for może być pomocna.
Zrozumienie podstawowych zasad stojących za pętlami for to cenna umiejętność, którą warto mieć w swoim arsenale, a opanowanie jej może pomóc w pisaniu prostego, łatwego do odczytania kodu.