Data wrangling to proces czyszczenia, porządkowania i przygotowywania danych do analizy.
To etap, w którym „surowe” dane zamieniasz w dane gotowe do analizy statystycznej.
Dane z badań (np. ankiety zdrowotnej) często są:
niekompletne,
z błędami,
w złym formacie,
niespójne (np. „K”, „kobieta”, „F”, „female”),
zapisane w kilku plikach.
Czyszczenie danych:
usuwanie duplikatów
obsługa braków (NA)
poprawianie literówek
Transformacja:
zmiana formatu (np. tekst → liczba)
tworzenie nowych zmiennych (np. BMI)
przekształcanie skali (liniowa → logarytmiczna, liczbowa → nominalna)
Filtrowanie
Łączenie danych
Zmiana struktury
Nawet 70–80% czasu analizy to data wrangling. Powinniśmy mieć to na uwadze planując badanie.
Pima Indians dataset to jeden z najbardziej znanych zbiorów danych w statystyce i uczeniu maszynowym (rodzaj statystyki). Służy do przewidywania występowania cukrzycy typu 2 na podstawie danych klinicznych.
Zmienne (cechy):
Pregnancies – liczba przebytych ciąż
Glucose – stężenie glukozy w osoczu (po 2h w teście OGTT)
BloodPressure – ciśnienie rozkurczowe (mm Hg)
SkinThickness – grubość fałdu skórnego tricepsa (mm)
Insulin – stężenie insuliny (µU/ml)
BMI – wskaźnik masy ciała
DiabetesPedigreeFunction – wskaźnik obciążenia rodzinnego cukrzycą
Age – wiek (lata)
Outcome (zmienna zależna) – 0 → brak cukrzycy ; 1 → rozpoznana cukrzyca
W wielu zmiennych występują wartości „0”, które w rzeczywistości oznaczają brak danych (np. 0 BMI jest niemożliwe).
Duża liczba braków w niektórych zmiennych: SkinThickness, Insulin
Przykładowa analiza:
czy istnieje zależność pomiędzy BloodPressure a BMI?
czy coraz starsze kobiety mają większe szanse na zachorowanie na cukrzycę?
Więc idziesz po pustyni Sonora i naprzeciwko widzisz takie panie. Co robisz?
https://chatgpt.com/share/69994512-09bc-8002-9884-37f57a9e1861
https://docs.google.com/forms/d/1Wh-UDVFJFVPs7esU1J3tDt0xxCWdjgDlLkDdtfCC5Jc/edit
Przykładowa analiza:
Czy ss jest różne dla kobiet i mężczyzn?
Czy ss zależy od wieku?
Czy istnieje zależność między pws a ss?
System TERYT jest używany w Polsce przez GUS na przykład. W bazie BDL większość danych jest zagregowana wg systemu TERYT. NUTS to system używany przez Eurostat.
TERYT = https://pl.wikipedia.org/wiki/TERYT
TERC = System identyfikatorów i nazw jednostek podziału administracyjnego
TERYT id: 00 00 000 - 7 digits
1. 2. 3.
province/województwo (00, 02, …, 32) – 2 digits; z jakiś powodów tylko cyfry parzyste
county/powiat (00, 01, …, 59 - powiat; 60, …, 99 - city-county/miasto na prawach powiatu) - 2 digits
community/gmina albo part of community/części gmin (000……, gdzie ostatni znak oznacza rodzaj jednostki) - 3 digits
NUTS
NUTS id : 00 00 0 00 00 000 (12 digits)
1. 2. 3. 4. 5. 6. (6 groups)
macroregion/makroregion (01, 02, …, 07)
province/województwo (00, 02, …, 32)
region/region (1, 2)
subregion/podregion (00, 01, …, 73)
County (powiatu (00, 01, …, 59 - powiat; 60, …, 99 - miasto na prawach powiatu) - 2 digits
community/gmina or part of community/części gmin (000……, gdzie ostatni znak stanowi symbol rodzaju jednostki) - 3 digits
Typ danych = zbiór wartości, jaką może przyjąć zmienna; typ danych określa, jakie operacje można wykonywać na zmiennej
Typy danych: data/czas, liczba, napis, prawda/fałsz
Struktura danych to sposób organizacji danych w pamięci komputera.
Format danych to sposób organizacji, zapisu i interpretacji danych, który określa, jak informacje są przechowywane i odczytywane przez systemy komputerowe. Potocznie rodzaj pliku z danymi, często związany z określoną aplikacją, która potrafi ten plik „otworzyć” i zapisać.
Excel: struktura danych ogólnie skomplikowana; podstawowe struktura = dwuwymiarowa tabela (wiersze/kolumny); typ danych określony na poziomie komórki.
Relacyjne bazy danych: struktura danych zaprojektowana do efektywnego przechowywania i przetwarzania ogromych zbiorów danych. Baza danych składa się z połączonych (logicznie) tabel.
SQL: standardowy język zapytań relacyjnych baz
danych. Ponieważ współcześnie ogromne zbiorami danych są powszechne,
wiele programów implementuje zwykle częściowo SQL, np Excel
(filter, select, join).
Format danych: excel, ale też są inne formaty:
CSV,
Json,
XML,
CSV = prosty format w którym dane są podzielone na wiersze (zwykle obserwacje) oraz kolumny (zwykle zmienne); wiersze i kolumny są oddzielone umownym znakiem. Opcjonalny pierwszy wiersz może być interpretowany jako nagłówek zawierający nazwy zmiennych. Przykładowo zbiór Pima Indians dataset w formacie CSV wygląda tak
pregnancies;glucose;bloodpress;skin;insulin;bmi;DiabetesPedigreeFunction;Age;outcome
6;148;72;35;0;33.6;0.627;50;1
1;85;66;29;0;26.6;0.351;31;0
8;183;64;0;0;23.3;0.672;32;1
Każdy program od Excela do kosztującego pierdzilion $$$
SPSSa potrafi wczytać plik CSV.
Problem kropki dziesiętnej
Wartość brakująca (missing value / Non-available value)
Format długi i szeroki (long/wide format; PivotTable)
Łączenie tabel
+-------+--------------------+ +-------+-------------------+
| teryt | liczba-mieszkańców | | teryt | liczba-samochodów |
+-------+--------------------+ +-------+-------------------+
+-------+--------------------+ +-------+-------------------+
| teryt | nazwa-powiatu | | teryt | konsumpcja paliw |
+-------+--------------------+ +-------+-------------------+
Wydrukować nazwę powiatu i obliczony wskaźnik liczby samochodów na mieszkańca (per capita) + przeciętne zużycie paliwa na samochód i mieszkańca
https://data.europa.eu/apps/data-visualisation-guide/wide-versus-long-data
Arkusze: Excel, Google sheets, LibreOffice
Desktopowe systemy statystyczne, np. SPSS, Stata
Przetwarzanie w chmurze: Azure (microsoft) https://docs.microsoft.com/pl-pl/azure/architecture/data-guide/technology-choices/r-developers-guide
AWS https://aws.amazon.com/blogs/opensource/getting-started-with-r-on-amazon-web-services/
Google https://cloud.google.com/solutions/running-r-at-scale
Programy open source: R, gretl, jamovi
R i RStudio (prezentacja)
Jamovi (prezentacja)
ChatGPT: Czy R jest lepszy od Excela do analiz statystycznych?
https://chatgpt.com/share/699939ce-9770-8002-a3bb-ab1e7ce1b29b