Co to są dane uporządkowane?
Dane uporządkowane (ang. tidy data) to tabela, w której każda zmienna ma własną kolumnę, każda obserwacja – własny wiersz, a każdy typ jednostki obserwacji – osobną tabelę. Zasady te sformułował Wickham (2014), pokazując, że taka struktura upraszcza przekształcanie danych, modelowanie i rysowanie wykresów. W R zakładają ją pakiety tidyr, dplyr i ggplot2.
Jak rozpoznać nieuporządkowane dane
- Wartości zmiennej w nazwach kolumn, np.
stres_przedistres_po: moment pomiaru jest zmienną, a nie częścią nazwy. - Dwie informacje w jednej komórce, np. „E_K” zamiast osobnych kolumn grupy i płci.
- Informacja zapisana formatowaniem, np. kolorem komórki, scalonymi nagłówkami albo kilkoma tabelkami na jednym arkuszu. Broman i Woo (2018) zalecają jeden prostokąt danych z jednym wierszem nagłówka i jedną informacją w komórce.
Przykład
Trzy osoby wypełniły skale stresu i lęku przed treningiem i po nim. Arkusz ma 3 wiersze i 6 kolumn, a grupa i płeć są sklejone. Po rozdzieleniu tej kolumny i przestawieniu pomiarów tabela ma 6 wierszy (osoba × pomiar) i 6 kolumn: id, grupa, plec, pomiar, stres, lek. Teraz jedna linijka liczy średni stres w każdej grupie i pomiarze, np. 33 przed i 26.5 po treningu w grupie E.
To nie to samo co format długi i szeroki. Tabela szeroka, z jednym wierszem na osobę, też bywa uporządkowana, jeśli jednostką obserwacji jest osoba. Format długi wybierasz pod konkretną analizę, np. model wielopoziomowy, a zasady tidy data mówią, jak nazwać i rozdzielić zmienne w każdym z formatów.
Jak opisać w pracy
Na co uważać
- Nie poprawiaj surowego arkusza ręcznie. Przekształcenia zapisz w skrypcie, a znaczenie kolumn i kodów – w książce kodowej.
- Nazwy kolumn pisz bez spacji i polskich znaków, z jednym separatorem, np.
stres_przed. Wtedy da się je rozdzielić automatycznie. - Typy zmiennych ustaw po uporządkowaniu tabeli; opisuje to hasło kodowanie zmiennych w R.
Cały proces od pliku do pierwszej analizy pokazuje wpis R dla początkujących, a przygotowanie danych z formularzy – Dane z Google Forms i LimeSurvey.
Porządkowanie danych w R
Kod rozdziela sklejoną kolumnę funkcją separate(), przestawia pomiary funkcją pivot_longer() i od razu liczy średnie w grupach.
Z arkusza do tabeli uporządkowanej
R
suppressPackageStartupMessages({library(tidyr); library(dplyr)})
surowe <- data.frame(id = c(1, 2, 3),
grupa_plec = c("E_K", "K_M", "E_M"), # dwie informacje w jednej komórce
stres_przed = c(31, 27, 35), stres_po = c(24, 26, 29),
lek_przed = c(18, 15, 22), lek_po = c(14, 15, 17))
uporz <- surowe |>
separate(grupa_plec, into = c("grupa", "plec"), sep = "_") |> # jedna zmienna = jedna kolumna
pivot_longer(stres_przed:lek_po, names_to = c(".value", "pomiar"),
names_sep = "_") # pomiar to zmienna, nie część nazwy
uporz
dim(surowe); dim(uporz)
uporz |> group_by(grupa, pomiar) |> summarise(M_stres = mean(stres), .groups = "drop")Wynik w R
# A tibble: 6 × 6
id grupa plec pomiar stres lek
<dbl> <chr> <chr> <chr> <dbl> <dbl>
1 1 E K przed 31 18
2 1 E K po 24 14
3 2 K M przed 27 15
4 2 K M po 26 15
5 3 E M przed 35 22
6 3 E M po 29 17
[1] 3 6
[1] 6 6
# A tibble: 4 × 3
grupa pomiar M_stres
<chr> <chr> <dbl>
1 E po 26.5
2 E przed 33
3 K po 26
4 K przed 27 Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 z pakietami tidyr 1.3.2 i dplyr 1.2.0.
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- tidyr (wersja 1.3.2): Wickham, H., Vaughan, D., & Girlich, M. (2025). tidyr: Tidy messy data [R package]. https://doi.org/10.32614/CRAN.package.tidyr
- dplyr (wersja 1.2.0): Wickham, H., François, R., Henry, L., Müller, K., & Vaughan, D. (2026). dplyr: A grammar of data manipulation [R package]. https://doi.org/10.32614/CRAN.package.dplyr
Najczęstsze pytania
Czy tidy data to to samo co format długi?
Nie. Format długi to jeden ze sposobów ułożenia pomiarów powtarzanych. Tabela szeroka z jednym wierszem na osobę też może być uporządkowana, jeśli jednostką obserwacji jest osoba.
Jak uporządkować dane z arkusza w R?
Najczęściej wystarczą funkcje z pakietu tidyr: pivot_longer() przenosi wartości z nazw kolumn do zmiennej, a separate() rozdziela sklejone informacje.
Dlaczego jedna komórka powinna zawierać jedną informację?
Bo program nie odczyta znaczenia sklejonych wartości, np. „E_K”. Osobne kolumny grupy i płci da się od razu filtrować, liczyć i wstawiać do modeli.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
R dla początkujących
Od instalacji R i RStudio do pierwszego testu t: wczytanie CSV i .sav, ramka danych, wynik skali, statystyki opisowe, d Cohena. Dane i skrypt do pobrania.
Czytaj →PoradnikDane z Google Forms i LimeSurvey: kodowanie do SPSS i R
Eksport, nazwy zmiennych, rekodowanie Likerta, pozycje odwrócone, wielokrotny wybór i braki – krok po kroku, z kodem R i wzorem książki kodowej.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Broman, K. W., & Woo, K. H. (2018). Data organization in spreadsheets. The American Statistician, 72(1), 2–10. https://doi.org/10.1080/00031305.2017.1375989 ● Otwarty dostęp: pełny tekst
- Wickham, H. (2014). Tidy data. Journal of Statistical Software, 59(10), 1–23. https://doi.org/10.18637/jss.v059.i10 ● Otwarty dostęp
Cytowania BibTeX
@article{broman2018data, author={Broman, Karl W. and Woo, Kara H.}, title={{Data organization in spreadsheets}}, journal={The American Statistician}, year={2018}, volume={72}, number={1}, pages={2--10}, doi={10.1080/00031305.2017.1375989}}@article{wickham2014tidy, author={Wickham, Hadley}, title={{Tidy data}}, journal={Journal of Statistical Software}, year={2014}, volume={59}, number={10}, pages={1--23}, doi={10.18637/jss.v059.i10}}