jamovi — poradnik do ćwiczenia

Podstawy dziennikarstwa danych

Autor
Afiliacja

Ben Stanley

Wydział Nauk Społecznych, Uniwersytet SWPS

Opublikowano

25 kwietnia 2026

Do czego służy ten handout: towarzyszy ćwiczeniu „analiza i wizualizacja danych o przestępczości” (seminarium 3). Pokazuje, jak działa jamovi i na co zwracać uwagę przy analizie opisowej, ale nie rozwiązuje za was pytań analitycznych — te są w karcie ćwiczenia.

Dlaczego jamovi

jamovi to bezpłatny, open-source program do analizy statystycznej. Działa jak SPSS — wszystko klika się w GUI, nie trzeba nic programować — ale jest darmowy i generuje wyniki w formacie APA, gotowe do wklejenia do raportu.

Kiedy sięgacie po jamovi zamiast Google Sheets:

  • Potrzebujecie statystyk opisowych z podziałem na grupy (Split by) — w Sheets trzeba pisać formuły
  • Chcecie szybki histogram / boxplot z opisem APA
  • Planujecie testy statystyczne (korelacje, regresje, ANOVA) na późniejszych etapach projektu
  • Dane mają więcej niż kilkaset wierszy i pivot tables w Sheets robią się wolne

Kiedy jamovi nie wystarcza:

  • Bardzo duże zbiory (>100 tys. wierszy) — używajcie R / Python
  • Skomplikowane czyszczenie danych — do tego jest OpenRefine
  • Wizualizacja publikacyjna — jamovi produkuje proste wykresy robocze, do publikacji używajcie Datawrapper

Pobranie i uruchomienie

  1. Wejdźcie na jamovi.orgDownload
  2. Wybierzcie wersję dla waszego systemu (macOS / Windows / Linux). Jest też wersja cloud dla osób, które nie chcą instalować — działa w przeglądarce, ale wolniej.
  3. Instalacja standardowa (~200 MB). Po uruchomieniu widzicie pusty arkusz.

Pierwsze kroki — wczytanie danych

  1. File → Open → Browse → wybierzcie plik CSV
  2. Jamovi rozpozna nagłówki i separatory automatycznie. Dla polskich znaków — jeśli wyglądają dziwnie, zapiszcie CSV ponownie jako UTF-8 i wczytajcie ponownie.
  3. Dane pojawiają się jako tabela. Nie zapisujcie na razie (plik .omv powstanie przy pierwszym Save).
Adnotacja

jamovi nie modyfikuje oryginalnego CSV. Wszystkie zmiany (typy pomiaru, filtry, computed columns) są w pliku .omv, nie w źródłowym CSV. To pozwala wrócić do surowych danych, kiedy chcecie.

Krok obowiązkowy: ustawienie typów pomiaru

To najczęstszy błąd studentów, który powoduje, że potem Split by daje dziwne wyniki albo nic.

W każdej kolumnie, obok nazwy, jest ikonka typu pomiaru. Dwuklik na nagłówku → otwiera panel, gdzie możecie zmienić:

  • ID — unikalny identyfikator (np. nazwa powiatu, numer respondenta). Nie używane w analizach, tylko do identyfikacji wiersza.
  • Nominal — kategoria bez porządku (typ_powiatu, województwo, płeć). Używajcie tego dla grupowania.
  • Ordinal — kategoria z porządkiem (wykształcenie, oceny od 1 do 5 gdy są skalą).
  • Continuous — zmienna liczbowa (przestępstwa_ogółem, ludność, wiek).

Dlaczego to ważne: Split by w Descriptives przyjmuje tylko zmienne Nominal / Ordinal. Jeśli zostawicie tekstową kolumnę z domyślnym typem (Continuous albo ID), pole Split by będzie puste albo zwróci bezsensowne wyniki.

Analyses → Exploration → Descriptives

To główne narzędzie do statystyk opisowych. Okno jest proste, ale warto wiedzieć, co robi każde pole:

  • Variables — zmienne, których statystyki chcecie. Mogą być 1, 2 lub 10.
  • Split by — zmienna kategorialna. Wyniki policzą się dla każdej grupy osobno.
  • Frequency tables — zaznaczcie dla zmiennych Nominal, jeśli chcecie dowiedzieć się, ile jest wierszy każdej kategorii.

Panel Statistics

Rozwińcie strzałką. Standardowo zaznaczone: N, Missing, Mean, Median, Minimum, Maximum. Dla analizy dziennikarskiej warto dodać:

  • Std. deviation — miara rozrzutu. Duża SD = duża różnorodność w grupie; mała SD = grupa jednorodna.
  • Skewness (skośność) — kluczowa dla wyboru skali na wykresie:
    • Skośność bliska 0 → rozkład symetryczny → skala liniowa na wykresie OK
    • Skośność > 1 → silnie prawoskośny (kilka dużych wartości ciągnie średnią) → rozważcie skalę logarytmiczną lub kwantyle
    • Skośność < −1 → silnie lewoskośny → to samo w drugą stronę
  • Sum — suma wartości per grupa. Przydatna, kiedy chcecie sumować liczby (np. ruch graniczny), a nie je uśredniać.
  • Quartiles — 25., 50. (mediana), 75. percentyl. Pozwala zobaczyć rozkład bez rysowania histogramu.
Wskazówka

Mediana vs średnia — kiedy bardzo się różnią, w danych jest outlier. To sygnał, który warto zawsze komentować: „średnia 525, mediana 48 — typowe wartości są niskie, ale kilka ekstremalnie wysokich ciągnie średnią w górę.”

Panel Plots

Rozwińcie. Standardowe opcje:

  • Histogram — rozkład zmiennej ciągłej. Pokazuje kształt (normalny, skośny, bimodalny).
  • Box plot — mediana + kwartyle + wartości odstające. Idealny przy Split by — widzicie od razu, która grupa ma wyższe wartości i więcej outlierów.
  • Q-Q plot — rzadko potrzebny w dziennikarstwie, głównie do sprawdzania założeń testów statystycznych.

Boxplot z Split by to najefektywniejszy wykres eksploracyjny — jeden rzut oka mówi wam wszystko o różnicach między grupami.

Frequencies — gdy patrzycie na kategorie

Dla pytań typu „ile obserwacji per kategoria?“ używajcie:

  • Analyses → Frequencies → Frequency Tables (N Outcomes) dla jednej zmiennej
  • Frequencies → Contingency Tables dla krzyżowej tabeli dwóch zmiennych

Contingency Tables — uwaga na Counts

Domyślnie Contingency Tables liczy wiersze. Jeśli chcecie krzyżową tabelę sum wartości (np. Odcinek × Kierunek z sumą ruchu), wrzućcie zmienną liczbową do pola Counts w panelu poniżej.

Kiedy jest to nieoczywiste i jamovi nie robi tego prosto:

  • Opcja 1: dodajcie computed column (prawy klik na dowolnym nagłówku → Add Variable → NEW COMPUTED VARIABLE) z formułą typu IF(Kierunek == 'przyjazd', Razem, 0), i jeszcze jedną dla wyjazd. Wtedy Descriptives z Split by i zaznaczonym Sum da wam to, czego szukaliście.
  • Opcja 2: użyjcie filtrów (ikona lejka u góry arkusza) — odfiltrujcie jedną wartość, uruchomcie Descriptives, zapiszcie wyniki, zmieńcie filtr, uruchomcie ponownie.

Sortowanie i rankingi

Jamovi nie ma funkcji sortowania danych (to jest świadoma decyzja — jamovi nie zmienia kolejności wierszy, żeby analizy pozostały reprodukowalne). Dla rankingów top 10 macie trzy opcje:

  1. Kliknijcie na nagłówek kolumny → strzałka sortująca w widoku. Kolejność wierszy w arkuszu się nie zmienia, ale widzicie rankingi. Skopiujcie top 10 do notatnika.
  2. Otwórzcie CSV w Excelu / Google Sheets, posortujcie, zapiszcie top 10.
  3. Filtrem ograniczcie widok do „wartość > X” i patrzcie, ile spełnia warunek.

Dla zaliczenia tego ćwiczenia wystarczy pierwsza lub druga opcja.

Computed columns — pomocny, kiedy potrzebny

Dodanie nowej zmiennej wyliczonej z innych:

  1. Prawy klik na nagłówku dowolnej kolumny → Add Variable → NEW COMPUTED VARIABLE
  2. Nazwa i typ pomiaru (zwykle Continuous)
  3. Formuła: standardowe operatory (+, -, *, /), funkcje IF(warunek, wartość_true, wartość_false), MEAN(...), SUM(...)

Typowe zastosowania w dziennikarstwie:

  • Wskaźnik per capita: przestepstwa_ogółem / ludność * 100000
  • Recoding kategorii: IF(ludność > 500000, 'duże miasto', 'małe')
  • Filtrowanie warunkowe sum: IF(typ_powiatu == 'miejski', wartość, 0)

Computed columns są automatyczne — jeśli zmienicie wartość w kolumnie źródłowej, wyliczona zaktualizuje się natychmiast.

Filtry — czasowe zawężenie widoku

Ikona lejka u góry arkusza. Filtry nie usuwają wierszy — tylko ukrywają je na czas analiz. Kiedy filtr jest aktywny, wszystkie Descriptives, Frequencies, wykresy liczą się na podzbiorze.

Formuła filtru to wyrażenie boolowskie: Kto_pelne == 'Cudzoziemcy' and Odcinek != 'z Republiką Federalną Niemiec'.

Zastosowania w ćwiczeniu: jeśli chcecie analizować tylko ziemskie powiaty albo tylko granicę z Ukrainą — filtr robi to natychmiast, bez edytowania danych.

Eksport wyników

Każda tabela / wykres w panelu wyników po prawej stronie ma menu kontekstowe (prawy klik):

  • Copy — do schowka, można wkleić do Worda / Google Docs jako obraz
  • Export → PDF / PNG / HTML — do pliku
  • Save data as… — zapisać cały plik jako CSV z dodanymi computed columns

Wyniki nie są w formacie do bezpośredniej publikacji (wyglądają statycznie, APA) — jamovi nie jest narzędziem wizualizacyjnym. Do publikacji eksportujcie do Datawrapper.

Na co zwracać uwagę przy analizie dziennikarskiej

Porównujcie medianę ze średnią

  • Bliskie → rozkład symetryczny, średnia jest dobrym opisem
  • Średnia >> mediana → silnie prawoskośny, mediana bardziej reprezentatywna dla typowego przypadku
  • W dziennikarstwie: jeśli piszecie „przeciętny powiat ma X przestępstw”, prawie zawsze chcecie mediany, nie średniej

Sprawdzajcie skośność przed wyborem skali

Skośność > 1 mówi wam, że liniowa skala na wykresie spłaszczy 90 % danych. To decyzja wizualizacyjna, która zapada w Części 1, zanim dotkniecie Datawrapper.

Dzielcie grupy przez Split by, zanim coś zsumujecie

Średnia krajowa ukrywa różnice. Jeśli macie kategorię grupującą (typ_powiatu, województwo, płeć), Split by w Descriptives pokaże, czy historia jest jedna, czy różna per grupa.

Wartości odstające to często historia

Boxplot z kropkami poza wąsami nie jest „błędem w danych” — może być sercem artykułu. W ćwiczeniu powiat, który wyraźnie odstaje per capita, jest właśnie tym, o czym warto pisać.

Częste problemy i rozwiązania

Problem Rozwiązanie
Split by jest puste / szare Zmienna, którą tam wrzucacie, musi być Nominal lub Ordinal. Dwuklik na nagłówku → zmień typ.
Wszystkie wartości to “N/A” Jamovi rozpoznał kolumnę jako text. Dwuklik → typ Continuous.
Polskie znaki wyświetlają się dziwnie Zapiszcie CSV w UTF-8 (np. w VS Code → Save with Encoding).
Brakuje funkcji / modułu Modules → jamovi library → darmowe dodatki (np. jAMM, scatr). Aktywujcie jednym kliknięciem.
Wyniki znikają po zamknięciu pliku File → Save → plik .omv zachowuje dane + wszystkie analizy + wykresy. Otwarcie go przywraca stan.

Przydatne zasoby