Przejdź do głównej treści
eLearner.app
Moduł 1 · Lekcja 1 z 21/10 w kursie~10 min
Lekcje modułu (1/2)

Zmienne i Wektory

R to język programowania i środowisko programistyczne wyspecjalizowane w statystycznej analizie danych, wizualizacji danych oraz uczeniu maszynowym (machine learning).

W przeciwieństwie do innych języków ogólnego przeznaczenia, R został zaprojektowany przez statystyków dla statystyków, co sprawia, że operacje manipulacji i agregacji na wektorach oraz macierzach są niezwykle intuicyjne.

Zmienne i Przypisanie

W R standardową konwencją przypisywania wartości do zmiennej jest użycie operatora strzałki w lewo <-, składającego się ze znaku mniejszości < oraz łącznika -.

Choć operator = jest poprawny w większości kontekstów, społeczność R preferuje <-, aby wyraźnie odróżnić przypisanie zmiennych od przekazywania argumentów wewnątrz funkcji.

Code
# Przypisujemy wartość 42 do zmiennej age
age <- 42

# Możemy wypisać wartość za pomocą funkcji print()
print(age)

Wektory

Podstawową strukturą danych w R is wektor (vector). Wektor to uporządkowana kolekcja elementów tego samego typu. W R nawet pojedyncza liczba (skalar) jest technicznie traktowana jako wektor o długości 1.

Aby utworzyć wektor o wielu elementach, używa się funkcji łączenia c():

Code
# Tworzymy wektor z czterema pierwszymi parzystymi liczbami
even_numbers <- c(2, 4, 6, 8)
print(even_numbers)

Operacje na Wektorach

R obsługuje operacje zwektoryzowane (vectorized). Gdy stosujesz operator arytmetyczny do wektora, R wykonuje tę operację na każdym elemencie wektora osobno (element po elemencie):

Code
prices <- c(10, 20, 30)

# Pomnóż każdy element przez 2
doubled_prices <- prices * 2
# Wynikiem będzie c(20, 40, 60)

Jeśli wykonujemy operacje na dwóch wektorach tej samej długości, operacja jest wykonywana element po elemencie:

Code
v1 <- c(1, 2, 3)
v2 <- c(10, 20, 30)
v3 <- v1 + v2
# Wynikiem będzie c(11, 22, 33)

Sekwencje i Nazwy Wektorów

R oferuje potężne narzędzia do generowania sekwencji liczb. Oprócz operatora : (np. 1:10), możemy użyć funkcji seq(), aby zdefiniować własny krok:

Code
# Generuje liczby od 1 do 5 z krokiem co 0.5
custom_seq <- seq(from = 1, to = 5, by = 0.5)

Dodatkowo elementy wektora mogą mieć przypisane nazwy ułatwiające ich identyfikację, które można ustawić za pomocą funkcji names():

Code
temperatures <- c(22, 24)
names(temperatures) <- c("Mon", "Tue")

Spróbuj sam

Ćwiczenie#r.m1.l1.e1
Próby: 0Ładowanie...

Przypisz wartość 10 do zmiennej x i wartość 20 do zmiennej y za pomocą operatora <-.

Ładowanie edytora...
Pokaż wskazówkę

Napisz: x <- 10 a w następnej linii: y <- 20

Rozwiązanie dostępne po 3 próbach

Ćwiczenie#r.m1.l1.e2
Próby: 0Ładowanie...

Utwórz wektor zawierający wartości 5, 10, 15, 20 i przypisz go do zmiennej o nazwie numbers.

Ładowanie edytora...
Pokaż wskazówkę

Użyj funkcji c() w ten sposób: numbers <- c(5, 10, 15, 20)

Rozwiązanie dostępne po 3 próbach

Ćwiczenie#r.m1.l1.e3
Próby: 0Ładowanie...

Dla danych wektorów v1 i v2, oblicz ich sumę i przypisz wynik do zmiennej total.

Ładowanie edytora...
Pokaż wskazówkę

Dodaj bezpośrednio oba wektory: total <- v1 + v2

Rozwiązanie dostępne po 3 próbach

Ćwiczenie#r.m1.l1.e4
Próby: 0Ładowanie...

Utwórz sekwencję liczb od 1 do 10 z krokiem co 2, używając funkcji seq(), i przypisz ją do zmiennej my_seq.

Ładowanie edytora...
Pokaż wskazówkę

Użyj funkcji seq(): my_seq <- seq(from = 1, to = 10, by = 2)

Rozwiązanie dostępne po 3 próbach

Ćwiczenie#r.m1.l1.e5
Próby: 0Ładowanie...

Dla danego wektora sales <- c(100, 150), przypisz nazwy 'Mon' i 'Tue' do wektora przy użyciu funkcji names().

Ładowanie edytora...
Pokaż wskazówkę

Ustaw: names(sales) <- c('Mon', 'Tue')

Rozwiązanie dostępne po 3 próbach