pivot_longer() w R.Co to jest format długi i szeroki danych?
Format szeroki (ang. wide format) to układ danych, w którym jeden wiersz to jedna osoba, a każdy pomiar tej samej zmiennej ma własną kolumnę. Format długi (ang. long format) zapisuje każdy pomiar w osobnym wierszu: jedna kolumna mówi, kogo dotyczy, druga – w jakim warunku lub momencie go wykonano, trzecia zawiera wynik. Rozróżnienie ma znaczenie, gdy tę samą osobę mierzysz kilka razy, np. w eksperymencie z czynnikiem wewnątrzobiektowym albo w badaniu przed i po interwencji.
Oba układy zawierają te same informacje. Wickham (2014) nazywa dane uporządkowanymi, gdy każda zmienna jest kolumną, a każda obserwacja – wierszem; takie dane łatwo przekształcać, modelować i pokazywać na wykresach. Ankiety wygodniej wpisuje się w formacie szerokim, a do wielu analiz trzeba je przestawić do długiego.
Przykład: ta sama tabela w obu formatach
Trzydzieści osób wykonało zadanie Stroopa w warunku zgodnym, neutralnym i niezgodnym; mierzono czas reakcji w milisekundach (dane symulowane). Format szeroki ma 30 wierszy i 4 kolumny, długi – 90 wierszy i 3 kolumny.
| id | rt_zgodny | rt_neutralny | rt_niezgodny |
|---|---|---|---|
| 1 | 618 | 641 | 723 |
| 2 | 594 | 686 | 764 |
| 3 | 647 | 697 | 741 |
| id | warunek | rt |
|---|---|---|
| 1 | zgodny | 618 |
| 1 | neutralny | 641 |
| 1 | niezgodny | 723 |
| 2 | zgodny | 594 |
| 2 | neutralny | 686 |
| 2 | niezgodny | 764 |
U dwóch osób zabrakło pomiaru w warunku niezgodnym. W formacie szerokim to dwie puste komórki, w długim – dwa wiersze bez wyniku.
Który format do jakiej analizy?
- ANOVA z powtarzanymi pomiarami w SPSS korzysta z formatu szerokiego: procedura GLM Repeated Measures wymaga osobnej zmiennej dla każdego powtórzenia pomiaru (IBM Corp., b.d.). W R ta sama analiza, np. w pakiecie afex, przyjmuje dane długie.
- Model mieszany, czyli model wielopoziomowy, wymaga formatu długiego. Każdy wiersz to pomiar zagnieżdżony w osobie, a kolumna id pozwala oszacować efekty losowe osób.
Od formatu zależy też los braków. Klasyczna ANOVA z powtarzanymi pomiarami analizuje tylko osoby z kompletem pomiarów – w przykładzie 28 z 30. Model mieszany wykorzystuje wszystkie dostępne pomiary (Gueorguieva i Krystal, 2004), tu 88 z 90. Oba podejścia porównujemy we wpisie ANOVA z powtarzanymi pomiarami czy model mieszany?
Jak zapisać w pracy
W opisie analizy danych wystarczy jedno zdanie:
Przykład w R
Kod tworzy dane z przykładu, przestawia je funkcją pivot_longer() do formatu długiego i wraca do szerokiego funkcją pivot_wider(). Liczby w tekście i w tabelach pochodzą z tego kodu.
Z formatu szerokiego do długiego i z powrotem
R
library(tidyr)
set.seed(5501)
osoba <- rnorm(30, 0, 55) # stałe różnice tempa między osobami
szeroki <- data.frame(id = 1:30,
rt_zgodny = round(610 + osoba + rnorm(30, 0, 30)),
rt_neutralny = round(640 + osoba + rnorm(30, 0, 30)),
rt_niezgodny = round(700 + osoba + rnorm(30, 0, 35)))
szeroki$rt_niezgodny[c(7, 19)] <- NA # dwa brakujące pomiary
dlugi <- pivot_longer(szeroki, starts_with("rt_"), names_to = "warunek",
names_prefix = "rt_", values_to = "rt")
dim(szeroki); dim(dlugi) # wiersze i kolumny
head(szeroki, 3); head(dlugi, 6)
c(osoby_z_kompletem = sum(complete.cases(szeroki)), pomiary = sum(!is.na(dlugi$rt)))
z_powrotem <- pivot_wider(dlugi, names_from = warunek, values_from = rt, names_prefix = "rt_")
identical(as.data.frame(z_powrotem), szeroki) # powrót bez utraty informacjiWynik w R
[1] 30 4
[1] 90 3
id rt_zgodny rt_neutralny rt_niezgodny
1 1 618 641 723
2 2 594 686 764
3 3 647 697 741
# A tibble: 6 × 3
id warunek rt
<int> <chr> <dbl>
1 1 zgodny 618
2 1 neutralny 641
3 1 niezgodny 723
4 2 zgodny 594
5 2 neutralny 686
6 2 niezgodny 764
osoby_z_kompletem pomiary
28 88
[1] TRUEBibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3. W tym samym skrypcie sprawdziliśmy, że funkcja aov_ez() z pakietu afex (wersja 1.5.1) usuwa z ANOVA obie osoby z brakiem, a model lmer() z pakietu lme4 (wersja 2.0.1) obejmuje 88 pomiarów od 30 osób.
- 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 version 1.3.2) [Computer software]. https://doi.org/10.32614/CRAN.package.tidyr
Na co uważać
- Opis próby z formatu długiego. Wiek czy płeć powtarzają się w nim w każdym wierszu osoby, więc liczebność próby wyjdzie 90 zamiast 30. Próbę opisuj na podstawie formatu szerokiego.
- Brak kolumny z identyfikatorem osoby. Bez niej nie wrócisz do formatu szerokiego ani nie dopasujesz modelu mieszanego.
- Niespójne nazwy kolumn. Kolumn rt_zgodny, RT_neutr i niezg nie przestawisz jednym poleceniem. Schemat nazw ustal przed wpisywaniem danych i zapisz w książce kodowej (zob. też poradnik Jak przygotować bazę danych do analizy).
Najczęstsze pytania
Jak zamienić format szeroki na długi w R?
Użyj funkcji pivot_longer() z pakietu tidyr: wskaż kolumny pomiarów, np. starts_with("rt_"), nazwę nowej kolumny z warunkiem (names_to) i kolumny z wynikiem (values_to). Odwrotną zmianę wykonuje pivot_wider().
Jakiego formatu danych wymaga model mieszany?
Formatu długiego: każdy pomiar to osobny wiersz z identyfikatorem osoby, warunkiem lub czasem pomiaru i wynikiem. Dzięki temu model korzysta także z pomiarów osób, którym część pomiarów brakuje.
W jakim formacie przygotować dane do ANOVA z powtarzanymi pomiarami w SPSS?
W szerokim. Procedura GLM Repeated Measures wymaga osobnej zmiennej dla każdego powtórzenia pomiaru, a czynnik wewnątrzobiektowy ma tyle poziomów, ile jest tych zmiennych.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
ANOVA z powtarzanymi pomiarami czy model mieszany?
Ten sam przykład 2 × 4 w afex i lmerTest, symulacja odpadania MAR, struktura efektów losowych, stopnie swobody, R² i gotowy opis do artykułu.
Czytaj →PoradnikJak przygotować bazę danych do analizy
Układ bazy, nazwy zmiennych, kodowanie ankiety, braki, pułapki Excela, widok zmiennych w SPSS i kontrola jakości – z szablonem .xlsx, .sav i .csv do pobrania.
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)
- Gueorguieva, R., & Krystal, J. H. (2004). Move over ANOVA: Progress in analyzing repeated-measures data and its reflection in papers published in the Archives of General Psychiatry. Archives of General Psychiatry, 61(3), 310–317. https://doi.org/10.1001/archpsyc.61.3.310
- IBM Corp. (b.d.). GLM Repeated Measures. IBM SPSS Statistics 31.0.0 documentation. Pobrano 18 października 2026 z https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=statistics-glm-repeated-measures ● Otwarty dostęp
- 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{gueorguieva2004move, author={Gueorguieva, Ralitza and Krystal, John H.}, title={{Move over ANOVA: Progress in analyzing repeated-measures data and its reflection in papers published in the Archives of General Psychiatry}}, journal={Archives of General Psychiatry}, year={2004}, volume={61}, number={3}, pages={310--317}, doi={10.1001/archpsyc.61.3.310}}@misc{ibmndglmrepeated, author={{IBM Corp.}}, title={{GLM Repeated Measures}}, howpublished={IBM SPSS Statistics 31.0.0 documentation}, publisher={IBM}, url={https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=statistics-glm-repeated-measures}}@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}}