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

Gramatyka i Podstawowe Geometrie

Wizualizacja danych w R jest zdominowana przez pakiet ggplot2, oparty na teorii „Gramatyki Grafiki” (Grammar of Graphics). Teoria ta rozkłada wykresy na niezależne komponenty semantyczne, takie jak dane, mapowania estetyczne i elementy geometryczne.


Struktura ggplot2

Każdy wykres tworzony za pomocą ggplot2 zaczyna się od wywołania funkcji ggplot(), z którą powiązujemy ramkę danych i definiujemy sposób mapowania kolumn ramki danych na właściwości wizualne za pomocą funkcji aes() (aesthetics).

Następnie dodajemy warstwy geometryczne za pomocą operatora + (uwaga: w ggplot2 używamy +, a nie %>%).

Podstawowa struktura to:

Code
ggplot(data = <DATA_FRAME>, mapping = aes(<ESTETYKA>)) +
  <GEOMETRIA>()

Właściwości Estetyczne (aes) i Geometrie (geom_*)

Funkcja aes() definiuje, które zmienne z danych kontrolują atrybuty wykresu:

  • x: Pozycja na osi poziomej.
  • y: Pozycja na osi pionowej.
  • color: Kolor punktów lub linii.
  • fill: Kolor wypełnienia zamkniętych kształtów (np. słupków).
  • size: Rozmiar elementów.

Geometrie (geom_) definiują rodzaj wizualizacji graficznej:

1. Wykres rozrzutu (geom_point())

Idealny do pokazania zależności między dwiema zmiennymi numerycznymi.

Code
ggplot(df, aes(x = age, y = income)) +
  geom_point()

2. Wykres liniowy (geom_line())

Często używany do danych czasowych lub serii historycznych.

Code
ggplot(df, aes(x = year, y = sales)) +
  geom_line()

3. Wykres słupkowy (geom_bar() i geom_col())

geom_bar() domyślnie zlicza częstotliwość występowania każdej kategorii, podczas gdy geom_col() bezpośrednio reprezentuje wartości obecne w kolumnie y.

Code
# Reprezentuje wartość z kolumny 'sales' dla każdej 'category'
ggplot(df, aes(x = category, y = sales)) +
  geom_col()

Spróbuj sam

Esercizio 1: Utwórz podstawowy wykres rozrzutu

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

Utwórz wykres rozrzutu (scatter plot) przy użyciu ramki danych df. Zmapuj kolumnę height na oś x i kolumnę weight na oś y. Użyj geom_point().

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

Upewnij się, że używasz ggplot(df, aes(x = height, y = weight)) + geom_point()

Rozwiązanie dostępne po 3 próbach

Esercizio 2: Dodaj kolor oparty na danych

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

Zmodyfikuj poprzedni wykres, mapując właściwość color na kolumnę gender wewnątrz aes(), aby pokolorować punkty na podstawie płci.

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

Uwzględnij color = gender wewnątrz aes(), na przykład: aes(x = height, y = weight, color = gender).

Rozwiązanie dostępne po 3 próbach

Esercizio 3: Wykres liniowy

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

Utwórz wykres liniowy przy użyciu df. Zmapuj kolumnę year na oś x i kolumnę sales na oś y. Dodaj warstwę geometryczną geom_line().

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

Użyj ggplot(df, aes(x = year, y = sales)) + geom_line()

Rozwiązanie dostępne po 3 próbach

Esercizio 4: Wykres słupkowy z geom_col

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

Utwórz wykres kolumnowy, aby zwizualizować wartość danych. Zmapuj kolumnę category na oś x i kolumnę value na oś y. Użyj geometrii geom_col().

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

Użyj ggplot(df, aes(x = category, y = value)) + geom_col()

Rozwiązanie dostępne po 3 próbach

Esercizio 5: Połącz wiele geometrii

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

W ggplot2 możesz nakładać warstwy geometryczne. Utwórz wykres łączący zarówno geom_point(), jak i geom_smooth(), mapując x_val na oś x i y_val na oś y.

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

Dodaj zarówno geom_point(), jak i geom_smooth() oddzielone znakiem '+'.

Rozwiązanie dostępne po 3 próbach