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:
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.
ggplot(df, aes(x = age, y = income)) +
geom_point()
2. Wykres liniowy (geom_line())
Często używany do danych czasowych lub serii historycznych.
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.
# 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
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().
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
Zmodyfikuj poprzedni wykres, mapując właściwość color na kolumnę gender wewnątrz aes(), aby pokolorować punkty na podstawie płci.
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
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().
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
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().
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
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.
Pokaż wskazówkę
Dodaj zarówno geom_point(), jak i geom_smooth() oddzielone znakiem '+'.
Rozwiązanie dostępne po 3 próbach