Podstawy programowania R
Operator podstawienia
Wybrane podstawowe zagadnienia ze strukturalnego programowania w języku C\C++.
- Wprowadzenie .
- Podstawowe operacje.
- Operacje na wektorach.
- Operatory arytmetyczne.
- Operatory logiczne.
- Wybrane funkcje matematyczne.
- Wektory - Podstawy.
- Typ wyliczeniowy.
- Typ listowy.
- Typ wektorowy vs. typ listowy.
- Typ tablicowy.
- Typ macierzowy.
- Ramki danych.
- Edycja ramki danych.
- Konwersja typów danych.
- Tworzenie_skryptów.
- Instrukcja_warunkowa if
- Pętla for w R.
- Pętla while w R.
Wprowadzenie
Wprowadzenie
Język R to język programowania i środowisko do analizy danych oraz grafik. Jest popularnym narzędziem w dziedzinie statystyki i analizy danych.
Historia języka R
- Język R został stworzony w latach 90. XX wieku przez Rossa Ihakę i Roberta Gentlemana na Uniwersytecie w Auckland.
- Pierwsza wersja języka R została udostępniona publicznie w 1995 roku.
- R jest rozwijany jako projekt open-source, co pozwala na ciągły rozwój i dostosowywanie do potrzeb użytkowników.
- Język R zyskał popularność w naukach ścisłych i społecznych, a także w biznesie jako narzędzie do analizy danych i statystyki.
- Obecnie R jest jednym z najczęściej używanych języków programowania w analizie danych.
Twórcy języka R
- Język R został stworzony przez Rossa Ihakę i Roberta Gentlemana.
- Ross Ihaka i Robert Gentleman byli członkami wydziału statystyki na Uniwersytecie w Auckland w latach 90. XX wieku.
- Pierwsza wersja języka R została udostępniona publicznie w 1995 roku.
- Ihaka i Gentleman rozwijali język R jako projekt open-source, co pozwalało na ciągły rozwój i dostosowywanie go do potrzeb użytkowników.
Podstawowe operacje
Operator podstawienia
W języku R do przypisywania wartości do zmiennych używa się operatora podstawienia `<-` lub `=`.
- Operator `<-` jest częściej stosowany i zalecany.
- Operator `=` również działa, ale rzadziej używany w praktyce.
Przykłady:
x <- 10
y = 20
Przypisanie wartości do zmiennej
Operacja polega na przypisaniu wartości do konkretnej zmiennej za pomocą operatora przypisania `<-` lub `=`. Na przykład:
x <- 10
Przykładowe wyjście:
> x <- 10
> x
[1] 10
Tworzenie wektoró
Operacje takie jak indeksowanie, dodawanie, usuwanie elementów itp. Na przykład:
print(vec[1])
vec <- c(vec, 6)
vec <- vec[-3]
Przykładowe wyjścia:
> print(vec[1])
[1] 1
> vec <- c(vec, 6)
> vec
[1] 1 2 4 5 6
> vec <- vec[-3]
> vec
[1] 1 2 5 6
Operatory arytmetyczne
W języku R dostępne są standardowe operatory arytmetyczne do wykonywania działań matematycznych. Oto kilka z nich:
+
- dodawanie-
- odejmowanie*
- mnożenie/
- dzielenie^
- potęgowanie
Przykłady z wyjściami:
3 + 5 -> 8
10 - 4 -> 6
2 * 3 -> 6
15 / 3 -> 5
2^3 -> 8
Operatory logiczne
W języku R dostępne są operatory logiczne do porównywania i łączenia warunków. Oto kilka z nich:
==
- równość!=
- różnica>
- większe niż<
- mniejsze niż>=
- większe lub równe<=
- mniejsze lub równe&
- AND logiczne|
- OR logiczne!
- NOT logiczne
Wybrane funkcje matematyczne
W języku R dostępne są liczne funkcje matematyczne do wykonywania różnych operacji na danych numerycznych. Oto kilka z nich:
sqrt(x)
- pierwiastek kwadratowy zx
abs(x)
- wartość bezwzględna zx
sin(x)
- sinus kątax
(w radianach)cos(x)
- cosinus kątax
(w radianach)tan(x)
- tangens kątax
(w radianach)log(x)
- logarytm naturalny zx
exp(x)
- wartość wykładniczax
Przykłady z wyjściami:
sqrt(25) -> 5
abs(-10) -> 10
sin(pi/2) -> 1
cos(0) -> 1
tan(pi/4) -> 1
log(10) -> 2.302585
exp(2) -> 7.389056
Wektory
Przypisanie wartości do wektora
Operacja polega na przypisaniu wartości do wektora za pomocą funkcji c()
(concatenate). Na przykład:
vec <- c(1, 2, 3, 4, 5)
Przykładowe wyjście:
> vec <- c(1, 2, 3, 4, 5)
> vec
[1] 1 2 3 4 5
Operacje na wektorach
Operacje takie jak indeksowanie, dodawanie, usuwanie elementów itp.
Inne konstrukcje typów wektorowych
Oprócz standardowych wektorów liczbowych i znakowych, w języku R dostępne są również inne konstrukcje typów wektorowych:
- Wektory logiczne: Zawierają wartości TRUE lub FALSE, często wykorzystywane w warunkach logicznych.
- Wektory czynnikowe: Reprezentują kategorie, używane często do reprezentowania danych jakościowych.
- Wektory daty i czasu: Przechowują informacje o datach i czasach, umożliwiają operacje związane z czasem.
Operacje arytmetyczne na wektorach
W języku R można wykonywać operacje arytmetyczne na wektorach, które są wykonywane element po elemencie.
- Dodawanie:
wektor1 + wektor2
- Odejmowanie:
wektor1 - wektor2
- Mnożenie:
wektor1 * wektor2
- Dzielenie:
wektor1 / wektor2
- Potęgowanie:
wektor1 ^ wektor2
Operacje logiczne na wektorach
W języku R można wykonywać operacje logiczne na wektorach, które są wykonywane element po elemencie.
- Równość:
wektor1 == wektor2
- Nierówność:
wektor1 != wektor2
- Większe niż:
wektor1 > wektor2
- Mniejsze niż:
wektor1 < wektor2
- Większe lub równe:
wektor1 >= wektor2
- Mniejsze lub równe:
wektor1 <= wektor2
Funkcje agregujące dla wektorów
W języku R dostępne są funkcje agregujące, które pozwalają na obliczanie statystyk i innych parametrów dla wektorów.
- sum() - suma wartości wektora
- mean() - średnia arytmetyczna wartości wektora
- median() - mediana wartości wektora
- min() - najmniejsza wartość wektora
- max() - największa wartość wektora
- sd() - odchylenie standardowe wartości wektora
- var() - wariancja wartości wektora
Indeksowanie wektorów
W języku R można korzystać z różnych metod indeksowania, aby odwoływać się do określonych elementów wektora.
- Indeksowanie od jednego elementu:
wektor[index]
- Indeksowanie od więcej niż jednego elementu:
wektor[start:stop]
- Indeksowanie z krokiem:
wektor[start:stop:krok]
Sortowanie wektorów
W języku R można sortować wektory w różnych sposób za pomocą funkcji sort().
- Sortowanie rosnąco:
sort(wektor)
- Sortowanie malejąco:
sort(wektor, decreasing = TRUE)
Typ wyliczeniowy
W języku R typy wyliczeniowe są reprezentowane przez obiekty czynnikowe, które pozwalają na przechowywanie i manipulowanie zbiorem kategorii.
- Czynniki: Obiekty czynnikowe mogą być tworzone za pomocą funkcji
factor()
lub konwertowane z wektora za pomocą funkcjias.factor()
. - Kategorie: Czynniki mogą mieć przypisane określone kategorie, które mogą być porządkowe lub nieporządkowe.
- Porządek: Jeśli kategorie są porządkowe, można określić ich kolejność za pomocą argumentu
ordered = TRUE
.
Przykład:
czynnik <- factor(c("A", "B", "C")) czynnik_uporzadkowany <- factor(c("niski", "średni", "wysoki"), ordered = TRUE)
Operacje na typach wyliczeniowych>
W języku R typy wyliczeniowe, reprezentowane przez obiekty czynnikowe, mogą być poddane różnym operacjom.
- Porządkowanie: Możliwe jest porządkowanie kategorii za pomocą argumentu
ordered = TRUE
podczas tworzenia obiektu czynnikowego. - Konwersja: Obiekty czynnikowe mogą być konwertowane na wektory za pomocą funkcji
as.character()
lubas.numeric()
Porównywanie: Możliwe jest porównywanie obiektów czynnikowych za pomocą operatorów porównania (
<
,>
,==
itp.).
Przykład
czynnik <- factor(c("niski", "średni", "wysoki"),
ordered = TRUE) as.numeric(czynnik) czynnik == "średni"
;Wyjście:
- [1] 1 2 3
- [1] FALSE TRUE FALSE
Typ listowy
W języku R typ listowy jest jednym z podstawowych typów danych, który pozwala na przechowywanie różnych rodzajów danych w jednej strukturze.
- Tworzenie listy: Listy można tworzyć za pomocą funkcji list().
- Dostęp do elementów: Do elementów listy można uzyskać dostęp za pomocą indeksów lub nazw.
- Manipulacja listą: Można dodawać, usuwać, modyfikować i łączyć listy.
- lista <- list(nazwa = "John", wiek = 30, punkty = c(10, 20, 30))>
- lista\$nazwa
- lista[[2]]
Wyjście:
- "John"
- 30
Typ wektorowy vs. typ listowy
>W języku R dostępne są dwa podstawowe typy danych: wektorowy i listowy. Oto różnice między nimi:
- Typ wektorowy:
- Składa się z elementów tego samego typu danych.
- Ma ustaloną długość.
- Przykłady: wektory liczbowe, znakowe, logiczne.
- Typ listowy:
- Może zawierać elementy różnych typów danych.
- Może mieć zmienną długość.
- Przykłady: listy złożone z różnych typów danych.
Wybór między typem wektorowym a listowym zależy od struktury danych i rodzaju operacji, które mają być wykonane na danych.
Typ tablicowy
W języku R typ tablicowy jest jednym z podstawowych typów danych, który pozwala na przechowywanie danych w postaci wielowymiarowej tablicy.
- Tworzenie tablicy: Tablicę można tworzyć za pomocą funkcji array() lub konwertować wektor na tablicę za pomocą funkcji as.array().
- Wielowymiarowość: Tablica może być jedno-, dwu- lub wielowymiarowa, zależnie od liczby wymiarów.
- Dostęp do elementów: Do elementów tablicy można uzyskać dostęp za pomocą indeksów wskazujących na położenie w każdym z wymiarów.
Przykład:
tablica <- array(c(1, 2, 3, 4, 5, 6), dim = c(2, 3))
tablica[1, 2]
2
Typ tablicowy - odwołania do elementów
W języku R można uzyskać dostęp do poszczególnych elementów tablicy poprzez określenie indeksów dla każdego z wymiarów.
- Jednowymiarowa tablica: Do elementów jednowymiarowej tablicy można uzyskać dostęp za pomocą jednego indeksu.
- Wielowymiarowa tablica: Do elementów wielowymiarowej tablicy można uzyskać dostęp za pomocą indeksów dla każdego z wymiarów oddzielnie.
Przykład:
tablica <- array(1:12, dim = c(3, 4))
tablica[2, 3]
Wyjście:
7
Typ macierzowy
W języku R macierz jest jednym z podstawowych typów danych, który pozwala na przechowywanie danych w formie dwuwymiarowej tablicy.
- Tworzenie macierzy: Macierz można tworzyć za pomocą funkcji matrix().
- Wielkość macierzy: Macierz może mieć dowolny rozmiar określony przez liczbę wierszy i kolumn.
- Dostęp do elementów: Do elementów macierzy można uzyskać dostęp za pomocą indeksów wierszy i kolumn.
Przykład:
macierz <- matrix(1:9, nrow = 3, ncol = 3)
Wyjście:
1 2 3
4 5 6
7 8 9
Wymiary macierzy
Aby sprawdzić wymiary macierzy w języku R, można użyć funkcji dim() lub operatora dim.
- Funkcja dim(): Zwraca wymiary macierzy jako wektor.
- Operator dim: Pozwala na dostęp do wymiarów macierzy jako atrybutu.
Przykład:
- macierz <- matrix(1:12, nrow = 3, ncol = 4)
- wymiary <- dim(macierz)
- liczba_wierszy <- dim(macierz)[1]
- liczba_kolumn <- dim(macierz)[2]
Wymiary macierzy:
liczba_wierszy × liczba_kolumn
Przykładowa macierz
Przykładowa macierz:
1 2 3 4
5 6 7 8
9 10 11 12
Operacje na macierzach (część 1)
W języku R można wykonywać różne operacje na macierzach, takie jak dodawanie, mnożenie, transpozycja itp.
- Dodawanie macierzy: Dodawanie dwóch macierzy o tych samych wymiarach.
- Mnożenie macierzy: Mnożenie dwóch macierzy zgodnie z regułami algebry macierzowej.
Przykład dodawania:
1 | 2 |
3 | 4 |
5 | 6 |
7 | 8 |
6 | 8 |
10 | 12 |
Operacje na macierzach (część 2)
Przykład mnożenia:
1 | 2 |
3 | 4 |
5 | 6 |
7 | 8 |
19 | 22 |
43 | 50 |
- Transpozycja macierzy: Zamiana wierszy na kolumny i kolumn na wiersze.
Przykład transpozycji:
Transpozycja
1 | 2 |
3 | 4 |
1 | 3 |
2 | 4 |
Ramki danych
Ramka danych (data frame) jest jedną z podstawowych struktur danych w języku R, która pozwala na przechowywanie danych w postaci tabelarycznej.
- Struktura: Ramka danych składa się z wierszy i kolumn, gdzie każda kolumna może mieć różne typy danych.
- Podobieństwo do bazy danych: Ramka danych przypomina tabelę w bazie danych, gdzie każda kolumna reprezentuje zmienną, a każdy wiersz reprezentuje obserwację.
- Tworzenie: Ramkę danych można tworzyć za pomocą funkcji data.frame() lub wczytywać z pliku.
Przykładowa ramka danych:
ID | Name | Age |
---|---|---|
1 | John | 30 |
2 | Alice | 25 |
3 | Bob | 35 |
Operacje na ramce danych
W języku R można wykonywać różne operacje na ramkach danych, takie jak filtrowanie, grupowanie, sortowanie, wybieranie kolumn itp.
- Filtrowanie danych: Wybieranie wierszy na podstawie określonych warunków.
- Grupowanie danych: Grupowanie danych na podstawie wartości w określonej kolumnie.
- Sortowanie danych: Sortowanie wierszy na podstawie wartości w określonej kolumnie.
- Wybieranie kolumn: Wybieranie określonych kolumn z ramki danych.
Przykłady operacji na ramce danych:
- Filtrowanie: subset(df, age > 30)
- Grupowanie: aggregate(df\$income, by = list(df\$gender), FUN = mean)
- Sortowanie: df_sorted <- df[order(df\$age), ]
- Wybieranie kolumn: selected_cols <- df['name', 'age']
Edycja ramki danych
Edycja ramki danych
W języku R można edytować ramki danych, tj. dodawać nowe kolumny, usuwać kolumny, aktualizować wartości w kolumnach itp.
- Dodawanie nowej kolumny: Dodawanie nowej kolumny do istniejącej ramki danych.
- Usuwanie kolumny: Usuwanie istniejącej kolumny z ramki danych.
- Aktualizacja wartości: Aktualizacja wartości w określonych komórkach ramki danych.
Przykłady operacji edycji ramki danych:
- Dodawanie nowej kolumny: df$new_column <- c(1, 2, 3)
- Usuwanie kolumny: df <- df[,-3]
- Aktualizacja wartości: df[1, 'age'] <- 40
Dodatkowe operacje na ramce danych
Dodatkowe operacje na ramce danych
W języku R istnieje wiele dodatkowych operacji, które można wykonywać na ramkach danych, w celu manipulacji i analizy danych.
- Dodawanie nowych kolumn: Dodawanie nowych kolumn do istniejącej ramki danych na podstawie obliczeń lub istniejących kolumn.
- Usuwanie kolumn: Usuwanie wybranych kolumn z ramki danych.
- Zmiana nazw kolumn: Zmiana nazw kolumn w ramce danych dla lepszej czytelności lub zgodności z innymi zmiennymi.
- Przetwarzanie brakujących danych: Obsługa brakujących danych poprzez usuwanie, uzupełnianie wartościami domyślnymi lub interpolację.
Przykłady operacji na ramce danych:
- Dodawanie nowych kolumn: df$total <- df$quantity * df$price
- Usuwanie kolumn: df_modified <- subset(df, select = -c('column_name'))
- Zmiana nazw kolumn: colnames(df) <- c('new_name1', 'new_name2')
- Przetwarzanie brakujących danych: df_clean <- na.omit(df)
Konwersja typów danych
Konwersja typów danych
W języku R możliwa jest konwersja typów danych między różnymi typami danych, co jest przydatne w przypadku przekształcania danych do odpowiedniego formatu dla dalszej analizy lub wizualizacji.
- Do liczby całkowitej (integer): as.integer()
- Do liczby zmiennoprzecinkowej (numeric): as.numeric()
- Do ciągu znaków (character): as.character()
- Do czynnika (factor): as.factor()
- Do logicznego (logical): as.logical()
- Do daty (Date): as.Date()
Przykład konwersji typów danych:
- df$age <- as.integer(df$age)
- df$income <- as.numeric(df$income)
- df$name <- as.character(df$name)
- df$gender <- as.factor(df$gender)
- df$is_active <- as.logical(df$is_active)
- df$date_of_birth <- as.Date(df$date_of_birth, format = '%Y-%m-%d')
Tworzenie skryptów
Tworzenie skryptów
Skrypty w języku R pozwalają na zapisanie zestawu poleceń, które mogą być wykonywane sekwencyjnie w celu wykonania określonych operacji na danych.
- Tworzenie skryptów: Skrypty w R mogą być tworzone w dowolnym edytorze tekstu, takim jak Notepad, Visual Studio Code, RStudio, itp.
- Rozszerzenie pliku: Skrypty w R mają zazwyczaj rozszerzenie pliku .R.
- Wykonywanie skryptów: Skrypty w R można wykonywać poprzez uruchomienie pliku skryptu w konsoli R lub za pomocą polecenia source().
- Zarządzanie skryptami: Skrypty można organizować w folderach i wywoływać w odpowiedniej kolejności w zależności od potrzeb.
Przykładowy skrypt R
Przykładowy skrypt R
Przykładowy skrypt R:
- # Wczytanie danych
- data <- read.csv('data.csv')
- # Przetwarzanie danych
- summary(data)
- # Wykresy
- plot(data$x, data$y)
Instrukcje warunkowe w R
Instrukcje warunkowe w języku R pozwalają na wykonywanie określonych operacji w zależności od spełnienia określonych warunków. Istnieją różne formy instrukcji warunkowych, w tym:
- Instrukcja if-else: Wykonuje pewne operacje, jeśli warunek jest spełniony, a inne operacje, jeśli warunek nie jest spełniony.
- Instrukcja ifelse(): Funkcja ifelse() pozwala na prostą instrukcję warunkową w formie jednego wyrażenia.
- Instrukcja switch(): Instrukcja switch() pozwala na wybór jednej z wielu możliwych ścieżek wykonywania na podstawie wartości wyrażenia.
Instrukcje warunkowe w R
Instrukcje warunkowe w języku R pozwalają na wykonywanie określonych operacji w zależności od spełnienia określonych warunków. Istnieją różne formy instrukcji warunkowych, w tym:
- Instrukcja if-else: Wykonuje pewne operacje, jeśli warunek jest spełniony, a inne operacje, jeśli warunek nie jest spełniony.
- Instrukcja ifelse(): Funkcja ifelse() pozwala na prostą instrukcję warunkową w formie jednego wyrażenia.
- Instrukcja switch(): Instrukcja switch() pozwala na wybór jednej z wielu możliwych ścieżek wykonywania na podstawie wartości wyrażenia.
Instrukcja if-else w R
Przykład instrukcji if-else:
if (warunek) {
wykonaj_operacje_jeśli_prawda()
} else {
wykonaj_operacje_jeśli_fałsz()
}
Przykład 1: Sprawdzenie parzystości
Kod
liczba <- 7
if (liczba %% 2 == 0) {
print("Liczba jest parzysta")
} else {
print("Liczba jest nieparzysta")
}
Wynik
Liczba jest nieparzysta
Przykład 2: Sprawdzenie wielkości liczby
Kod
liczba <- 10
if (liczba > 0) {
print("Liczba jest dodatnia")
} else if (liczba < 0) {
print("Liczba jest ujemna")
} else {
print("Liczba jest równa zero")
}
Wynik
Liczba jest dodatnia
Przykład 3: Sprawdzenie długości wektora
Kod
wektor <- c(1, 2, 3, 4)
if (length(wektor) > 3) {
print("Wektor jest długi")
} else {
print("Wektor jest krótki")
}
Wynik
Wektor jest długi
Przykład 4: Sprawdzenie kategorii wiekowej
Kod
wiek <- 25
if (wiek < 18) {
print("Osoba jest nieletnia")
} else if (wiek >= 18 && wiek < 65) {
print("Osoba jest dorosła")
} else {
print("Osoba jest emerytem")
}
Wynik
Osoba jest dorosła
Przykład 5: Sprawdzenie sezonu roku
Kod
miesiac <- "lipiec"
if (miesiac %in% c("grudzień", "styczeń", "luty")) {
print("Jest zima")
} else if (miesiac %in% c("marzec", "kwiecień", "maj")) {
print("Jest wiosna")
} else if (miesiac %in% c("czerwiec", "lipiec", "sierpień")) {
print("Jest lato")
} else {
print("Jest jesień")
}
Wynik
Jest lato
Przykłady instrukcji warunkowych: ifelse()
Funkcja ifelse()
Funkcja ifelse() pozwala na prostą instrukcję warunkową w formie jednego wyrażenia. Przykładowe użycie:
ifelse(x > 0, "Dodatnia", "Ujemna")
Jeśli wartość zmiennej x
jest większa od zera, zwróci "Dodatnia", w przeciwnym razie zwróci "Ujemna".
Instrukcja ifelse
w R
Instrukcja ifelse
w języku R pozwala na wykonywanie różnych działań w zależności od spełnienia warunku. Oto przykłady z jej zaawansowanym użyciem:
Przykład 1: Zamiana wartości
x <- 10
ifelse(x > 5, "większe", "mniejsze")
Wynik: "większe"
Przykład 2: Wybór wartości
x <- 3
ifelse(x == 1, "jeden", ifelse(x == 2, "dwa", "inne"))
Wynik: "inne"
Przykład 3: Obliczenia warunkowe
x <- 10
ifelse(x > 5, x * 2, x / 2)
Wynik: 20
Przykład 4: Wybór z listy
x <- 2
ifelse(x == 1, "jeden", ifelse(x == 2, "dwa", "trzy"))
Wynik: "dwa"
Przykład 5: Wybór z listy
x <- 0
ifelse(x == 1, "jeden", ifelse(x == 2, "dwa", "trzy"))
Wynik: "trzy"
Przykłady instrukcji warunkowych: switch()
Instrukcja switch()
Instrukcja switch() pozwala na wybór jednej z wielu możliwych ścieżek wykonywania na podstawie wartości wyrażenia. Przykładowe użycie:
switch(kod, "a" = print("Wybrano opcję a"),
"b" = print("Wybrano opcję b"),
"c" = print("Wybrano opcję c"),
print("Nieprawidłowy kod"))
W powyższym przykładzie, jeśli wartość zmiennej kod
to "a", "b" lub "c", zostanie wyświetlony odpowiedni komunikat, w przeciwnym razie zostanie wyświetlony komunikat "Nieprawidłowy kod".
Pętla for
w R
Pętla for
w języku R pozwala na iterację po elementach określonej sekwencji lub kolekcji. Oto przykład użycia pętli for
wraz z przykładowymi danymi wejściowymi i wynikami:
Przykład
for (i in 1:5) {
print(i)
}
- Dane wejściowe: Liczby od 1 do 5.
- Dane wyjściowe:
- 1
- 2
- 3
- 4
- 5
Rozszerzone użycie pętli for
(część 1)
Pętla for
w języku R może być używana w różnych kontekstach i z różnymi typami danych. Oto kilka przykładów rozszerzonego użycia pętli for
:
Przykład 1: Iteracja po wektorze
Kod
wektor <- c("a", "b", "c")
for (element in wektor) {
print(element)
}
Przykład 2: Iteracja po ramce danych
Kod
ramka_danych <- data.frame(x = 1:3, y = c("a", "b", "c"))
for (wiersz in 1:nrow(ramka_danych)) {
print(ramka_danych$x[wiersz])
}
Rozszerzone użycie pętli for
(część 2)
Oto kontynuacja przykładów rozszerzonego użycia pętli for
:
Przykład 3: Iteracja po listach
Kod
lista <- list(a = 1, b = 2, c = 3)
for (element in lista) {
print(element)
}
Pętla while
w R
Pętla while
w języku R wykonuje blok kodu tak długo, jak długo podany warunek jest spełniony. Oto przykłady jej użycia:
Przykład 1: Licznik
Kod
i <- 1
while (i <= 5) {
print(i)
i <- i + 1
}
Wynik
1
2
3
4
5
Przykład 2: Sumowanie liczb
Kod
suma <- 0
x <- 1
while (x <= 10) {
suma <- suma + x
x <- x + 1
}
print(suma)
Wynik
55
Przykład 3: Losowanie liczby
Kod
wylosowana <- sample(1:100, 1)
licznik <- 0
while (wylosowana != 50) {
wylosowana <- sample(1:100, 1)
licznik <- licznik + 1
}
print(paste("Liczba prób:", licznik))