Dlaczego skale bólu sprawiają kłopot w analizie
Natężenie bólu to najczęstszy wynik w pracach z fizjoterapii i pielęgniarstwa. Pacjent wskazuje liczbę od 0 do 10 albo zaznacza punkt na odcinku, Ty wpisujesz wynik do arkusza – i zaczynają się pytania. Średnia czy mediana? Test t czy Wilcoxon? Podać spadek w punktach czy w procentach? Co zrobić z pacjentem, który zaczynał z bólem 2 i skończył na 1? Ile osób „zareagowało” na terapię?
Ten poradnik odpowiada na te pytania po kolei, na jednym przykładzie. Liczby pochodzą z danych symulowanych i nie mówią nic o skuteczności jakiejkolwiek terapii.
Badanie przykładowe. 84 osoby z przewlekłym bólem karku wzięły udział w 6-tygodniowym programie ćwiczeń. Średnie natężenie bólu z ostatniego tygodnia mierzono skalą NRS 0–10 trzy razy: przed programem (T0), po 6 tygodniach (T1) i po 12 tygodniach (T2, pomiar odroczony). W T0 i T1 pacjenci wypełniali też skalę VAS 0–100 mm. Do programu kwalifikowano osoby z jakimkolwiek bólem, więc część z nich zaczynała od bardzo niskich wartości. To ważne dla efektu podłogi. Grupy kontrolnej nie było, co ogranicza wnioski (o tym na końcu).
Plik do pobrania: skale-bolu-nrs-vas-dane-przyklad.xlsx – arkusze Dane (84 osoby, kolumny nrs_t0, nrs_t1, nrs_t2, vas_t0, vas_t1) i Instrukcja (10 KB). Kod R do wszystkich liczb jest w sekcji Przykład w R.
NRS i VAS: czym się różnią i którą wybrać
Skala NRS (ang. numeric rating scale) to zwykle 11 liczb całkowitych od 0 („brak bólu”) do 10 (najsilniejszy wyobrażalny ból). Pacjent podaje liczbę ustnie albo zakreśla ją na kartce. Skala VAS (ang. visual analogue scale) to odcinek, zwykle 100 mm, na którym pacjent stawia znak; wynikiem jest odległość od lewego końca w milimetrach.
Hjermstad i in. (2011) przejrzeli 54 badania porównujące te skale. Znaleźli aż osiem wersji NRS (od 6 do 101 punktów) i 24 różne opisy krańców. NRS miały lepszą kompletność odpowiedzi w 15 z 19 badań, które ją raportowały, i częściej były zalecane jako łatwiejsze w użyciu. Wyniki NRS i VAS w większości badań sobie odpowiadały, z nielicznymi wyjątkami systematycznie wyższych wyników VAS. Dla Twojej pracy wynikają z tego trzy praktyczne rady.
- Opisz dokładnie wersję skali: zakres, słowa na krańcach, okres, którego dotyczy pytanie („teraz”, „średnio w ostatnim tygodniu”, „najsilniejszy ból w ciągu doby”). To od tego zależy, co właściwie mierzysz.
- Nie łącz NRS i VAS w jedną zmienną. Jeśli różni pacjenci wypełniali różne skale, analizuj je osobno albo przelicz z ostrożnością. Progi zmiany dla obu skal nie są wymienne: Ostelo i in. (2008) zaproponowali dla bólu krzyża 2 punkty dla NRS i 15 punktów dla VAS 0–100.
- Raportuj VAS w milimetrach, z dokładnością do 1 mm. Nie zaokrąglaj do centymetrów, bo tracisz to, co odróżnia VAS od NRS.
W przykładzie korelacja Spearmana między NRS a VAS wyniosła .894 w T0 i .909 w T1. Wynik VAS podzielony przez 10 był średnio o 0.31 punktu wyższy niż NRS. Wysoka korelacja nie oznacza jednak, że skale są zamienne. Zgodność dwóch metod sprawdza się wykresem Blanda–Altmana, który opisujemy w poradniku badanie rzetelności pomiaru klinicznego.
Porządkowa czy ilościowa? Spór, który rozstrzygasz w planie analizy
Formalnie NRS to skala porządkowa: wiemy, że 6 to więcej niż 4, ale nie wiemy, czy różnica między 2 a 4 „znaczy” tyle samo co między 6 a 8. Z tego powodu część promotorów wymaga wyłącznie median i testów rangowych. Druga strona sporu odwołuje się do badań nad odpornością metod parametrycznych. Norman (2010) przypomina, że liczne badania od lat 30. XX wieku pokazują odporność ANOVA, regresji i korelacji na naruszenia założeń, więc można je stosować także do danych ze skal porządkowych, małych prób i rozkładów nienormalnych. Dla VAS argument za poziomem ilościowym jest mocniejszy: Reips i Funke (2008) w badaniu walidacyjnym skal VAS w ankietach internetowych stwierdzili, że ich wyniki zbliżały się do poziomu interwałowego.
Praktyczne rozwiązanie wygląda tak:
- Dla 11-punktowej NRS i VAS jako analizę główną przyjmij metody dla skali ilościowej (średnie, test t, ANOVA), zwłaszcza gdy analizujesz różnice u tych samych osób.
- Jako analizę uzupełniającą podaj medianę i test rangowy. Jeśli wnioski są zgodne, zyskujesz argument na obronie.
- Jeśli rozkład jest bardzo skośny, z wieloma zerami albo z małą liczbą kategorii (np. NRS 0–5), test rangowy staje się analizą główną.
- Zapisz wybór w planie analizy, zanim zobaczysz wyniki. Wybieranie testu, który „wyszedł”, to błąd gorszy niż każdy z tych wyborów.
Średnia czy mediana? Opis rozkładu bólu
Zacznij od rozkładu w każdym pomiarze. Rysunek 1 pokazuje liczbę osób przy każdej wartości NRS.
Przed programem rozkład jest niemal symetryczny (skośność 0.20), a średnia i mediana prawie się pokrywają. Po programie rozkład „opiera się” o zero: 10 osób (11.9%) zgłosiło brak bólu, a skośność wzrosła do 0.79. Średnia jest wtedy wyższa od mediany, bo pojedyncze wysokie wyniki ciągną ją w prawo.
| Pomiar | M (SD) | Mdn [IQR] | Skośność | % z wynikiem 0 |
|---|---|---|---|---|
| NRS, T0 (przed programem) | 5.23 (1.97) | 5.0 [4.0, 6.0] | 0.20 | 0.0 |
| NRS, T1 (6 tygodni) | 2.69 (1.97) | 2.5 [1.0, 4.0] | 0.79 | 11.9 |
| NRS, T2 (12 tygodni) | 3.05 (2.08) | 3.0 [1.0, 4.25] | 0.62 | 8.3 |
| VAS, T0 (mm) | 55.36 (19.67) | 53.5 [43.0, 64.0] | 0.26 | 0.0 |
| VAS, T1 (mm) | 31.50 (19.41) | 28.0 [16.0, 47.0] | 0.70 | 1.2 |
Podawaj jedno i drugie: M i SD pozwalają porównać wynik z innymi badaniami i policzyć wielkość efektu, a Mdn i IQR lepiej opisują typowego pacjenta przy skośnym rozkładzie. Dla NRS podawaj średnie z dwoma miejscami po przecinku, a mediany z jednym (mediana z parzystej liczby osób może wynosić 2.5). Odsetek osób bez bólu to cenna informacja kliniczna, a przy okazji sygnał efektu podłogi. Ogólne zasady opisu zmiennych znajdziesz we wpisie statystyki opisowe w pracy.
Przed i po: test t dla par czy test Wilcoxona
Pytanie „czy ból się zmniejszył?” dotyczy różnic u tych samych osób. Policz więc najpierw zmianę NRS (T1 − T0) dla każdej osoby. Średnia zmiana wyniosła −2.54 punktu (SD = 2.06, mediana −2). Ból zmniejszył się u 70 osób, nie zmienił się u 11, a wzrósł u 3 (3.6%).
- Test t dla prób zależnych: t(83) = −11.30, p < .001, średnia zmiana −2.54, 95% CI [−2.98, −2.09]. Wielkość efektu dla prób zależnych dz = −1.23. Założenie normalności dotyczy różnic, a przy 84 osobach test jest odporny na umiarkowaną skośność.
- Test Wilcoxona dla par: V = 30, z = −7.29, p < .001, korelacja rangowo-dwuseryjna rrb = −.98. R pominął 11 osób bez zmiany – podaj tę liczbę, bo programy traktują zera różnie. Test Wilcoxona ma też własny estymator zmiany, czyli pseudomedianę Hodgesa–Lehmanna: −3.00 punktu, 95% CI [−3.50, −2.50].
Oba testy prowadzą do tego samego wniosku. Zwróć uwagę, że estymator Hodgesa–Lehmanna (−3.00) to nie to samo co mediana różnic (−2). To mediana średnich ze wszystkich par różnic, więc w pracy nazwij go dokładnie. Szczegóły testów rangowych opisuje poradnik testy nieparametryczne krok po kroku, a test t – test t Studenta krok po kroku.
Zmiana bezwzględna a procentowa
Spadek bólu z 8 do 4 i z 2 do 1 to w obu przypadkach redukcja o 50%, choć w punktach różnica jest czterokrotna. Zmiana procentowa, czyli (T0 − T1) / T0 × 100, jest intuicyjna i często używana w badaniach bólu. Farrar i in. (2001) na danych 2724 osób z 10 badań bólu przewlekłego stwierdzili, że klinicznie istotnej poprawie odpowiadał spadek NRS o około 2 punkty albo o około 30%. Związek z odsetkiem zmiany nie zależał przy tym od bólu wyjściowego.
W analizie statystycznej zmiana procentowa sprawia jednak kłopoty. Vickers (2001) porównał w symulacji badania z pomiarem wyjściowym cztery sposoby analizy. Zmiana procentowa miała najmniejszą moc i była bardzo wrażliwa na zmiany wariancji. Autor zaleca, by nie używać jej jako zmiennej w teście, a gdy trzeba ją podać – przeliczyć wynik głównej analizy na procent względem średniej wyjściowej. W przykładzie widać, dlaczego:
- Średnia z indywidualnych zmian procentowych wyniosła 45.84% (SD = 36.05, mediana 50.00%), a zakres – od −100% do 100%. Wartość −100% to jedna osoba, której ból wzrósł z 1 do 2 punktów.
- Spadek średniej grupy, (5.23 − 2.69) / 5.23, to 48.52%. To inna liczba niż średnia z procentów, a w pracach często myli się te dwa wskaźniki.
- Pacjenci z niskim bólem wyjściowym dają ogromny rozrzut procentów (o tym w następnej sekcji).
Reguła: testuj zmianę w punktach (albo pomiar końcowy z pomiarem wyjściowym jako kowariantem, gdy masz grupę porównawczą – zob. ANCOVA w badaniu przed i po). Procent podaj opisowo, jasno nazywając, czy to spadek średniej grupy, czy średnia z indywidualnych procentów. Procentową redukcję wykorzystaj też do zdefiniowania responderów.
Efekt podłogi przy niskim bólu wyjściowym
Pacjent z bólem 2 może się poprawić najwyżej o 2 punkty, a pacjent z bólem 8 – o 8. To klasyczny efekt podłogi: dolny kraniec skali ogranicza możliwą zmianę. Rysunek 2 pokazuje go na danych przykładowych.
| Ból NRS w T0 | n | Zmiana w punktach, M (SD) | Redukcja w %, M (SD) | Spadek ≥ 2 pkt | Redukcja ≥ 30% | Redukcja ≥ 50% |
|---|---|---|---|---|---|---|
| 1–3 | 13 | −0.85 (1.07) | 25.64 (48.88) | 23.1% | 61.5% | 38.5% |
| 4–6 | 53 | −2.51 (1.64) | 50.57 (32.71) | 69.8% | 69.8% | 54.7% |
| 7–10 | 18 | −3.83 (2.77) | 46.52 (31.68) | 77.8% | 72.2% | 55.6% |
Wnioski z tabeli są trzy. Po pierwsze, zmiana w punktach silnie zależy od bólu wyjściowego (r = −.52), a procentowa – słabo (r = .20). Po drugie, w grupie z niskim bólem kryterium „spadek o 2 punkty” spełniło tylko 23.1% osób, a kryterium „redukcja o 30%” – 61.5%. Wybór progu decyduje więc o tym, kto jest „responderem”. Po trzecie, w tej grupie procenty są skrajnie niestabilne (SD = 48.88), bo zmiana o jeden punkt przy bólu 2 to od razu 50%.
Olsen i in. (2018) w przeglądzie 66 badań nad minimalną klinicznie istotną zmianą w bólu przewlekłym pokazali, że bezwzględna wartość progu silnie zależy od bólu wyjściowego, który wyjaśniał około dwóch trzecich jej zmienności. Šimkovic i Träuble (2019) w symulacjach wykazali, że efekty sufitu i podłogi zwiększają obciążenie i niepewność wnioskowania. Najlepiej sprawdzały się w nich metody na danych transformowanych, a dla danych dyskretnych – testy rangowe. Co z tego wynika w praktyce?
- W planie badania rozważ minimalny ból jako kryterium włączenia (np. NRS ≥ 4), jeśli pytanie dotyczy redukcji bólu. Wtedy jednak pamiętaj o regresji do średniej.
- Zawsze podaj rozkład bólu wyjściowego i odsetek osób z wynikiem 0 po terapii.
- Uwzględnij ból wyjściowy w analizie (kowariant albo podgrupy zaplanowane z góry), zamiast porównywać surowe spadki w punktach między grupami o różnym bólu na starcie.
Respondery: spadek o 2 punkty, 30% i 50%
Klinicystów zwykle bardziej niż średnia interesuje odsetek pacjentów, którym terapia pomogła. Ta analiza responderów wymaga progu, a progi muszą mieć źródło. Najczęściej spotkasz trzy:
- spadek o co najmniej 2 punkty NRS lub o co najmniej 30% – próg odpowiadający klinicznie istotnej poprawie w danych Farrara i in. (2001);
- redukcja o co najmniej 30% i o co najmniej 50% – w przeglądach Cochrane jako umiarkowana i istotna ulga w bólu względem stanu wyjściowego, np. w przeglądzie Wiffena i in. (2017);
- 15 mm na VAS 0–100 – próg Ostelo i in. (2008) dla bólu krzyża.
Żaden z nich nie jest uniwersalny. Konsensus IMMPACT (Dworkin i in., 2008) zaleca ocenianie klinicznej ważności zmiany co najmniej dwiema różnymi metodami i traktuje proponowane wartości jako wstępne. Pełne omówienie progów MCID, MDC i klinicznie istotnej zmiany według Jacobsona i Truaxa znajdziesz w poradniku wiarygodna i klinicznie istotna zmiana: RCI, MDC i MCID.
| Kryterium (T1 względem T0) | n | % | 95% CI |
|---|---|---|---|
| Spadek NRS o ≥ 2 punkty | 54 | 64.3 | [53.6, 73.7] |
| Redukcja NRS o ≥ 30% | 58 | 69.0 | [58.5, 77.9] |
| Redukcja NRS o ≥ 50% | 44 | 52.4 | [41.8, 62.7] |
| Spadek VAS o ≥ 15 mm | 57 | 67.9 | [57.3, 76.9] |
| Wzrost NRS (pogorszenie) | 3 | 3.6 | [1.2, 10.0] |
Przedziały ufności liczymy metodą Wilsona (zob. przedział ufności dla proporcji). Mają szerokość około 20 punktów procentowych – tyle kosztuje próba 84 osób. Zamiast wybierać jeden próg, możesz pokazać wszystkie naraz na krzywej responderów (rysunek 3). Dla każdego progu redukcji na osi poziomej krzywa pokazuje odsetek osób, które go osiągnęły.
Analiza responderów ma poważną wadę. Snapinn i Jiang (2007) pokazują, że dzielenie ciągłego wyniku na „reagujących” i „niereagujących” może znacznie obniżać efektywność statystyczną i nie dowodzi klinicznej istotności efektu. Odsetek responderów to więc uzupełnienie analizy zmiany w punktach, a nie jej zamiennik – podobnie jak dzielenie medianą nie zastąpi analizy wyniku ciągłego. Bez grupy kontrolnej nie wiesz też, ilu „responderów” byłoby bez terapii.
Trzy pomiary: ANOVA z powtarzanymi pomiarami i test Friedmana
Pomiar po 12 tygodniach odpowiada na pytanie, czy poprawa się utrzymała. Średni ból wynosił 5.23, 2.69 i 3.05 punktu. Analizę możesz przeprowadzić na dwa sposoby.
- ANOVA z powtarzanymi pomiarami. Test Mauchly’ego wskazał na naruszenie założenia sferyczności, W = 0.54, p < .001, więc podajemy wynik z poprawką Greenhouse’a–Geissera (ε = .68): F(1.37, 113.71) = 99.19, p < .001, η²G = .24. Porównania parami z korektą Holma: spadek od T0 do T1 o 2.54 punktu, t(83) = 11.30, p < .001; od T0 do T2 o 2.18 punktu, t(83) = 9.61, p < .001; między T1 a T2 ból wzrósł o 0.36 punktu, t(83) = −3.23, p = .002.
- Test Friedmana jako odpowiednik rangowy: χ²(2) = 88.92, p < .001, W Kendalla = .53.
Wniosek: po zakończeniu programu ból nieco wzrósł, ale po 12 tygodniach pozostał wyraźnie niższy niż na początku. Redukcję o co najmniej 30% względem T0 utrzymało 64.3% osób, a o co najmniej 50% – 50.0%. Wzrost o 0.36 punktu jest istotny statystycznie, ale mniejszy niż jakikolwiek próg klinicznej istotności. Dobrze ilustruje, że wartość p nie mówi o znaczeniu zmiany.
W przykładzie wszyscy mieli komplet pomiarów. W prawdziwym badaniu część osób nie przyjdzie na pomiar odroczony. ANOVA i test Friedmana pominą je w całości, a model mieszany wykorzysta wszystkie dostępne pomiary. Kiedy wybrać który, wyjaśniamy w poradniku pomiary powtarzane – ANOVA czy model mieszany.
Analiza VAS: to samo, ale w milimetrach
Wszystkie kroki stosujesz tak samo do VAS. W przykładzie ból w VAS zmniejszył się średnio o 23.86 mm (SD = 20.22), dz = −1.18 – bardzo podobnie jak w NRS (dz = −1.23). Spadek o co najmniej 15 mm uzyskało 67.9% osób. Dwie różnice warto zapamiętać. VAS rzadziej ma wynik dokładnie 0 (w T1 tylko 1.2% osób), więc efekt podłogi jest mniej widoczny, choć nadal istnieje. Ma też więcej możliwych wartości, dlatego histogram VAS rysuj z przedziałami (np. co 10 mm), a nie słupkami dla każdej wartości. Jeśli w pracy używasz obu skal, wybierz jedną jako wynik główny przed analizą.
Jak opisać wyniki w pracy (APA)
Podaj wersję skali, statystyki opisowe w każdym pomiarze, analizę główną z wielkością efektu i 95% CI, analizę uzupełniającą oraz odsetki responderów ze źródłem progu. Ogólne zasady zapisu statystyk opisuje poradnik jak opisać wyniki w stylu APA, a zastosowanie w pracach z fizjoterapii – statystyka dla fizjoterapeuty.
Jeśli masz dane z NRS albo VAS i nie wiesz, którą analizę wybrać lub jak opisać respondery, zajrzyj do oferty analiz statystycznych dla studentów. Wspólnie ustalimy analizę główną, policzymy wyniki i wyjaśnimy je tak, żebyś umiał(a) je samodzielnie obronić; pomoc ujawniasz zgodnie z zasadami uczelni.
Przykład w R
Przepis 1 generuje dane przykładowe (te same co w pliku do pobrania), a przepis 2 liczy wszystkie wyniki z tekstu i tabel. Uruchom je po kolei w jednym katalogu roboczym. Zamiast przepisu 1 możesz wczytać arkusz Dane z pliku xlsx funkcją readxl::read_excel(). Rysunki powstają w skrypcie b59-rysunki.R z pakietem ggplot2.
1. Dane przykładowe: NRS w trzech pomiarach i VAS w dwóch
R
# Badanie przykładowe (dane symulowane, set.seed(5901)): 84 osoby z przewlekłym bólem karku,
# 6-tygodniowy program ćwiczeń, jedna grupa bez kontroli. Natężenie bólu z ostatniego tygodnia:
# nrs_t0 – NRS 0–10 przed programem, nrs_t1 – po 6 tygodniach, nrs_t2 – po 12 tygodniach (pomiar odroczony);
# vas_t0, vas_t1 – VAS 0–100 mm w tych samych dniach co nrs_t0 i nrs_t1.
set.seed(5901)
n <- 84
bol0 <- pmin(9.4, pmax(1.6, rnorm(n, 5.2, 1.9))) # ból „prawdziwy” przed programem
spadek <- pmin(0.95, pmax(-0.25, rnorm(n, 0.36, 0.30))) # względna poprawa danej osoby
bol1 <- bol0 * (1 - spadek)
bol2 <- bol1 + rnorm(n, 0.25, 0.7) # lekki nawrót po zakończeniu programu
nrs <- function(x) pmin(10, pmax(0, round(x + rnorm(length(x), 0, 0.45))))
vas <- function(x) pmin(100, pmax(0, round(10 * x + 3 + rnorm(length(x), 0, 6))))
dane <- data.frame(id = 1:n,
nrs_t0 = nrs(bol0), nrs_t1 = nrs(bol1), nrs_t2 = nrs(bol2),
vas_t0 = vas(bol0), vas_t1 = vas(bol1))
dane$nrs_t0 <- pmax(dane$nrs_t0, 1) # do programu kwalifikowano osoby z jakimkolwiek bólem (NRS ≥ 1)
write.csv(dane, "b59-dane.csv", row.names = FALSE)
summary(dane[, -1])Wynik w R
nrs_t0 nrs_t1 nrs_t2 vas_t0 vas_t1
Min. : 1.000 Min. : 0.00 Min. : 0.000 Min. : 9.00 Min. : 0.0
1st Qu.: 4.000 1st Qu.: 1.00 1st Qu.: 1.000 1st Qu.: 43.00 1st Qu.: 16.0
Median : 5.000 Median : 2.50 Median : 3.000 Median : 53.50 Median : 28.0
Mean : 5.226 Mean : 2.69 Mean : 3.048 Mean : 55.36 Mean : 31.5
3rd Qu.: 6.000 3rd Qu.: 4.00 3rd Qu.: 4.250 3rd Qu.: 64.00 3rd Qu.: 47.0
Max. :10.000 Max. :10.00 Max. :10.000 Max. :100.00 Max. :100.0 2. Rozkłady, przed i po, zmiana procentowa, respondery, efekt podłogi i trzy pomiary
R
# Analiza skal bólu NRS i VAS – badanie przykładowe z b59-0-dane.R (dane symulowane).
suppressPackageStartupMessages({
library(psych) # skew()
library(afex) # aov_ez(): ANOVA z powtarzanymi pomiarami
library(emmeans) # porównania parami z korektą Holma
})
dane <- read.csv("b59-dane.csv")
n <- nrow(dane)
# ---- 1. Rozkład i statystyki opisowe
opis <- function(x) round(c(M = mean(x), SD = sd(x), Mdn = median(x), Q1 = unname(quantile(x, .25)),
Q3 = unname(quantile(x, .75)), skosnosc = skew(x), proc_zero = 100 * mean(x == 0),
min = min(x), max = max(x)), 2)
t(sapply(dane[, -1], opis))
rbind(T0 = table(factor(dane$nrs_t0, 0:10)), T1 = table(factor(dane$nrs_t1, 0:10)), T2 = table(factor(dane$nrs_t2, 0:10)))
# ---- 2. Przed i po (T0 → T1): test t dla par, d_z, test Wilcoxona z estymatorem Hodgesa–Lehmanna
zm <- dane$nrs_t1 - dane$nrs_t0
round(c(M = mean(zm), SD = sd(zm), Mdn = median(zm)), 2)
tt <- t.test(dane$nrs_t1, dane$nrs_t0, paired = TRUE)
round(c(t = unname(tt$statistic), df = unname(tt$parameter), p = tt$p.value, CI_d = tt$conf.int[1],
CI_g = tt$conf.int[2], d_z = mean(zm) / sd(zm)), 4)
w <- wilcox.test(dane$nrs_t1, dane$nrs_t0, paired = TRUE, exact = FALSE, conf.int = TRUE)
z <- sign(median(zm)) * abs(qnorm(w$p.value / 2)) # z z przybliżenia normalnego, znak = kierunek zmiany
nz <- zm[zm != 0]; rg <- rank(abs(nz))
round(c(V = unname(w$statistic), z = z, p = w$p.value, HL = unname(w$estimate), HL_CI_d = w$conf.int[1],
HL_CI_g = w$conf.int[2], zera = sum(zm == 0),
r_rb = (sum(rg[nz > 0]) - sum(rg[nz < 0])) / sum(rg)), 4)
# ---- 3. Zmiana bezwzględna a procentowa
proc <- 100 * (dane$nrs_t0 - dane$nrs_t1) / dane$nrs_t0 # dodatni = poprawa
round(c(sr_proc_osob = mean(proc), SD_proc = sd(proc), Mdn_proc = median(proc),
min_proc = min(proc), max_proc = max(proc),
proc_ze_srednich = 100 * (mean(dane$nrs_t0) - mean(dane$nrs_t1)) / mean(dane$nrs_t0),
skosnosc_proc = skew(proc), skosnosc_pkt = skew(zm)), 2)
# ---- 4. Respondery: ≥ 2 punkty, ≥ 30%, ≥ 50% (przedział Wilsona)
odsetek <- function(k) { ci <- prop.test(sum(k), length(k), correct = FALSE)$conf.int
round(c(n = sum(k), proc = 100 * mean(k), CI_d = 100 * ci[1], CI_g = 100 * ci[2]), 1) }
rbind(spadek_2pkt = odsetek(zm <= -2), redukcja_30 = odsetek(proc >= 30), redukcja_50 = odsetek(proc >= 50),
pogorszenie = odsetek(zm > 0))
# ---- 5. Efekt podłogi: zmiana w zależności od bólu wyjściowego
dane$wyjsciowy <- cut(dane$nrs_t0, c(0, 3, 6, 10), labels = c("1–3", "4–6", "7–10"))
do.call(rbind, lapply(split(data.frame(zm, proc, t0 = dane$nrs_t0), dane$wyjsciowy), function(d)
round(c(n = nrow(d), M_t0 = mean(d$t0), M_zmiany = mean(d$zm), SD_zmiany = sd(d$zm),
M_proc = mean(d$proc), SD_proc = sd(d$proc), proc_2pkt = 100 * mean(d$zm <= -2),
proc_30 = 100 * mean(d$proc >= 30), proc_50 = 100 * mean(d$proc >= 50)), 2)))
round(cor(dane$nrs_t0, zm), 3); round(cor(dane$nrs_t0, proc), 3)
# ---- 6. Trzy pomiary: ANOVA z powtarzanymi pomiarami, porównania Holma i test Friedmana
dl <- reshape(dane[, c("id", "nrs_t0", "nrs_t1", "nrs_t2")], direction = "long", idvar = "id",
varying = c("nrs_t0", "nrs_t1", "nrs_t2"), v.names = "nrs", timevar = "pomiar", times = c("T0", "T1", "T2"))
a <- aov_ez("id", "nrs", dl, within = "pomiar", anova_table = list(correction = "GG", es = "ges"))
a
summary(a)$sphericity.tests
summary(a)$pval.adjustments
pairs(emmeans(a, ~ pomiar), adjust = "holm")
friedman.test(as.matrix(dane[, c("nrs_t0", "nrs_t1", "nrs_t2")]))
fr <- friedman.test(as.matrix(dane[, c("nrs_t0", "nrs_t1", "nrs_t2")]))
round(unname(fr$statistic) / (n * (3 - 1)), 3) # W Kendalla = χ² / (n(k − 1))
round(c(proc_30_T2 = mean(100 * (dane$nrs_t0 - dane$nrs_t2) / dane$nrs_t0 >= 30) * 100), 1)
# ---- 7. NRS a VAS: zbieżność obu skal
round(c(rho_T0 = cor(dane$nrs_t0, dane$vas_t0, method = "spearman"),
rho_T1 = cor(dane$nrs_t1, dane$vas_t1, method = "spearman")), 3)
vz <- dane$vas_t1 - dane$vas_t0
round(c(M_vas_t0 = mean(dane$vas_t0), SD_vas_t0 = sd(dane$vas_t0), M_vas_t1 = mean(dane$vas_t1), SD_vas_t1 = sd(dane$vas_t1),
M_zmiany_vas = mean(vz), SD_zmiany_vas = sd(vz), d_z_vas = mean(vz) / sd(vz),
roznica_VAS10_minus_NRS_T0 = mean(dane$vas_t0 / 10 - dane$nrs_t0)), 2)
odsetek(vz <= -15) # spadek VAS o co najmniej 15 mmWynik w R
M SD Mdn Q1 Q3 skosnosc proc_zero min max
nrs_t0 5.23 1.97 5.0 4 6.00 0.20 0.00 1 10
nrs_t1 2.69 1.97 2.5 1 4.00 0.79 11.90 0 10
nrs_t2 3.05 2.08 3.0 1 4.25 0.62 8.33 0 10
vas_t0 55.36 19.67 53.5 43 64.00 0.26 0.00 9 100
vas_t1 31.50 19.41 28.0 16 47.00 0.70 1.19 0 100
0 1 2 3 4 5 6 7 8 9 10
T0 0 3 4 6 16 21 16 7 5 4 2
T1 10 18 14 15 10 13 2 0 1 0 1
T2 7 16 15 14 11 10 6 4 0 0 1
M SD Mdn
-2.54 2.06 -2.00
t df p CI_d CI_g d_z
-11.3029 83.0000 0.0000 -2.9819 -2.0895 -1.2333
V z p HL HL_CI_d HL_CI_g zera r_rb
30.0000 -7.2921 0.0000 -3.0000 -3.5000 -2.4999 11.0000 -0.9778
sr_proc_osob SD_proc Mdn_proc min_proc max_proc
45.84 36.05 50.00 -100.00 100.00
proc_ze_srednich skosnosc_proc skosnosc_pkt
48.52 -0.67 -0.64
n proc CI_d CI_g
spadek_2pkt 54 64.3 53.6 73.7
redukcja_30 58 69.0 58.5 77.9
redukcja_50 44 52.4 41.8 62.7
pogorszenie 3 3.6 1.2 10.0
n M_t0 M_zmiany SD_zmiany M_proc SD_proc proc_2pkt proc_30 proc_50
1–3 13 2.23 -0.85 1.07 25.64 48.88 23.08 61.54 38.46
4–6 53 5.00 -2.51 1.64 50.57 32.71 69.81 69.81 54.72
7–10 18 8.06 -3.83 2.77 46.52 31.68 77.78 72.22 55.56
[1] -0.522
[1] 0.199
Anova Table (Type 3 tests)
Response: nrs
Effect df MSE F ges p.value
1 pomiar 1.37, 113.71 2.33 99.19 *** .240 <.001
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘+’ 0.1 ‘ ’ 1
Sphericity correction method: GG
Test statistic p-value
pomiar 0.5401 1.0752e-11
GG eps Pr(>F[GG]) HF eps Pr(>F[HF])
pomiar 0.6849793 9.852264e-21 0.6926158 6.183806e-21
attr(,"na.action")
(Intercept)
1
attr(,"class")
[1] "omit"
contrast estimate SE df t.ratio p.value
T0 - T1 2.536 0.224 83 11.303 <0.0001
T0 - T2 2.179 0.227 83 9.610 <0.0001
T1 - T2 -0.357 0.111 83 -3.229 0.0018
P value adjustment: holm method for 3 tests
Friedman rank sum test
data: as.matrix(dane[, c("nrs_t0", "nrs_t1", "nrs_t2")])
Friedman chi-squared = 88.923, df = 2, p-value < 2.2e-16
[1] 0.529
proc_30_T2
64.3
rho_T0 rho_T1
0.894 0.909
M_vas_t0 SD_vas_t0 M_vas_t1
55.36 19.67 31.50
SD_vas_t1 M_zmiany_vas SD_zmiany_vas
19.41 -23.86 20.22
d_z_vas roznica_VAS10_minus_NRS_T0
-1.18 0.31
n proc CI_d CI_g
57.0 67.9 57.3 76.9 Bibliografia oprogramowania
Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3; rysunki przygotowano w pakiecie ggplot2, a plik do pobrania – w pakiecie openxlsx. W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).
- 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/
- psych (wersja 2.6.5): Revelle, W. (2026). psych: Procedures for psychological, psychometric, and personality research [R package]. Northwestern University. https://CRAN.R-project.org/package=psych
- afex (wersja 1.5.1): Singmann, H., Bolker, B., Westfall, J., Aust, F., & Ben-Shachar, M. S. (2025). afex: Analysis of factorial experiments [R package]. https://doi.org/10.32614/CRAN.package.afex
- emmeans (wersja 2.0.2): Lenth, R. V., & Piaskowski, J. (2026). emmeans: Estimated marginal means, aka least-squares means [R package]. https://doi.org/10.32614/CRAN.package.emmeans
- ggplot2 (wersja 4.0.2): Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org
- openxlsx (wersja 4.2.8.1): Schauberger, P., & Walker, A. (2025). openxlsx: Read, write and edit xlsx files [R package]. https://doi.org/10.32614/CRAN.package.openxlsx
Najczęstsze błędy w analizie skal bólu
- Brak opisu wersji skali. „Ból mierzono skalą VAS” nie wystarcza: podaj zakres, krańce i okres, którego dotyczyło pytanie.
- Sama średnia albo sama mediana. Podaj oba zestawy statystyk i odsetek osób bez bólu.
- Wybór testu po zobaczeniu wyników. Analizę główną i uzupełniającą zapisz w planie.
- Średnia z indywidualnych procentów nazwana „procentowym spadkiem bólu w grupie”. W przykładzie to 45.84% wobec 48.52% – dwie różne liczby.
- Test statystyczny na zmianie procentowej. Ma najmniejszą moc (Vickers, 2001); testuj zmianę w punktach albo zastosuj ANCOVA.
- Próg responderów bez źródła. Każdy próg (2 punkty, 30%, 50%, 15 mm) wymaga cytowania i krótkiego uzasadnienia, dlaczego pasuje do Twojej populacji.
- Pomijanie efektu podłogi. Osoby z bólem 1–3 nie mogą się poprawić o tyle, co osoby z bólem 8; podaj rozkład bólu wyjściowego.
- Łączenie NRS i VAS w jednej zmiennej albo stosowanie progu dla jednej skali do drugiej.
- „Terapia zmniejsza ból” w badaniu bez grupy kontrolnej. Ból przewlekły zmienia się także sam, a część poprawy to regresja do średniej. W badaniu jednej grupy pisz o zmianie bólu, nie o skuteczności.
Jeśli Twoja praca dotyczy pielęgniarstwa, np. bólu pooperacyjnego albo edukacji pacjentów, typowe schematy i analizy opisujemy we wpisie statystyka w pracy z pielęgniarstwa.
Najczęstsze pytania
Czy skala NRS to skala porządkowa czy ilościowa?
Formalnie porządkowa, bo nie wiadomo, czy odstępy między liczbami są równe. W praktyce 11-punktową NRS, zwłaszcza przy analizie zmian u tych samych osób, zwykle analizuje się metodami dla danych ilościowych, a medianę i test rangowy podaje uzupełniająco. Norman (2010) opisuje odporność metod parametrycznych na takie dane. Wybór zapisz w planie analizy przed zebraniem wyników.
Jak policzyć procentową redukcję bólu?
Dla każdej osoby: (ból przed − ból po) / ból przed × 100. Średnia z tych indywidualnych procentów to inna liczba niż spadek średniej grupy; w przykładzie we wpisie wyniosły 45.84% i 48.52%. Procent nie da się policzyć przy bólu wyjściowym 0 i jest bardzo niestabilny przy bólu 1–3, dlatego test statystyczny wykonaj na zmianie w punktach.
Skąd wziąć próg 30% i 50% redukcji bólu?
Redukcja o około 30% (albo o około 2 punkty NRS) odpowiadała klinicznie istotnej poprawie w danych Farrara i in. (2001). W przeglądach Cochrane redukcję o co najmniej 30% i co najmniej 50% przyjmuje się jako umiarkowaną i istotną ulgę w bólu, np. u Wiffena i in. (2017). W pracy zawsze zacytuj źródło progu i podaj odsetek z 95% przedziałem ufności.
Co to jest efekt podłogi w skali bólu?
To ograniczenie możliwej zmiany przez dolny kraniec skali: osoba z bólem 2 może się poprawić najwyżej o 2 punkty. W przykładzie we wpisie spadek o 2 punkty osiągnęło 23.1% osób z bólem wyjściowym 1–3 i 77.8% osób z bólem 7–10. Podawaj rozkład bólu wyjściowego i odsetek osób z wynikiem 0.
Jak opisać wyniki skali NRS w pracy dyplomowej?
Podaj wersję skali (zakres, krańce, okres pytania), średnią z odchyleniem standardowym i medianę z IQR w każdym pomiarze, średnią zmianę z 95% CI, wynik testu z wielkością efektu oraz odsetki osób z poprawą według progów ze źródłem. Gotowe zdania znajdziesz w sekcji o zapisie APA.
Powiązane hasła
Przeczytaj też
Statystyka dla fizjoterapeuty
Pomiar przed i po terapii, test t i Wilcoxona, MCID dla skali NRS, ANCOVA, trzy pomiary, ICC i regresja do średniej – z danymi, kodem R i opisem APA.
Czytaj →PoradnikRCI, MDC i MCID
SEM, MDC95, RCI i kryteria Jacobsona–Truaxa, MCID z kotwicy i metod rozkładowych, analiza responderów z 95% CI i koszt dychotomizacji – z kodem R.
Czytaj →PoradnikBadanie rzetelności pomiaru klinicznego
Plan badania powtarzalności, forma ICC, SEM i MDC95, wykres Blanda–Altmana, zgodność dwóch urządzeń i raport według GRRAS – z przykładem w R.
Czytaj →Masz wyniki NRS albo VAS i nie wiesz, jak je przeanalizować?
Dobierzemy analizę główną i uzupełniającą, policzymy zmianę, wielkość efektu i odsetki responderów z przedziałami ufności, a potem wyjaśnimy wyniki tak, żebyś umiał(a) je opisać i obronić.
Oferta dla studentówWyceń analizęBibliografia i dalsza literatura naukowa (APA 7)
- Dworkin, R. H., Turk, D. C., Wyrwich, K. W., Beaton, D., Cleeland, C. S., Farrar, J. T., Haythornthwaite, J. A., Jensen, M. P., Kerns, R. D., Ader, D. N., Brandenburg, N., Burke, L. B., Cella, D., Chandler, J., Cowan, P., Dimitrova, R., Dionne, R., Hertz, S., Jadad, A. R., . . . Zavisic, S. (2008). Interpreting the clinical importance of treatment outcomes in chronic pain clinical trials: IMMPACT recommendations. The Journal of Pain, 9(2), 105–121. https://doi.org/10.1016/j.jpain.2007.09.005 ● Otwarty dostęp
- Farrar, J. T., Young, J. P., Jr., LaMoreaux, L., Werth, J. L., & Poole, R. M. (2001). Clinical importance of changes in chronic pain intensity measured on an 11-point numerical pain rating scale. Pain, 94(2), 149–158. https://doi.org/10.1016/s0304-3959(01)00349-9
- Hjermstad, M. J., Fayers, P. M., Haugen, D. F., Caraceni, A., Hanks, G. W., Loge, J. H., Fainsinger, R., Aass, N., & Kaasa, S. (2011). Studies comparing numerical rating scales, verbal rating scales, and visual analogue scales for assessment of pain intensity in adults: A systematic literature review. Journal of Pain and Symptom Management, 41(6), 1073–1093. https://doi.org/10.1016/j.jpainsymman.2010.08.016 ● Otwarty dostęp
- Norman, G. (2010). Likert scales, levels of measurement and the “laws” of statistics. Advances in Health Sciences Education, 15(5), 625–632. https://doi.org/10.1007/s10459-010-9222-y
- Olsen, M. F., Bjerre, E., Hansen, M. D., Tendal, B., Hilden, J., & Hróbjartsson, A. (2018). Minimum clinically important differences in chronic pain vary considerably by baseline pain and methodological factors: Systematic review of empirical studies. Journal of Clinical Epidemiology, 101, 87–106.e2. https://doi.org/10.1016/j.jclinepi.2018.05.007 ● Otwarty dostęp: pełny tekst
- Ostelo, R. W. J. G., Deyo, R. A., Stratford, P., Waddell, G., Croft, P., Von Korff, M., Bouter, L. M., & de Vet, H. C. (2008). Interpreting change scores for pain and functional status in low back pain: Towards international consensus regarding minimal important change. Spine, 33(1), 90–94. https://doi.org/10.1097/brs.0b013e31815e3a10 ● Otwarty dostęp: pełny tekst
- Reips, U.-D., & Funke, F. (2008). Interval-level measurement with visual analogue scales in Internet-based research: VAS Generator. Behavior Research Methods, 40(3), 699–704. https://doi.org/10.3758/brm.40.3.699 ● Otwarty dostęp: pełny tekst
- Šimkovic, M., & Träuble, B. (2019). Robustness of statistical methods when measure is affected by ceiling and/or floor effect. PLOS ONE, 14(8), Article e0220889. https://doi.org/10.1371/journal.pone.0220889 ● Otwarty dostęp
- Snapinn, S. M., & Jiang, Q. (2007). Responder analyses and the assessment of a clinically relevant treatment effect. Trials, 8(1), Article 31. https://doi.org/10.1186/1745-6215-8-31 ● Otwarty dostęp
- Vickers, A. J. (2001). The use of percentage change from baseline as an outcome in a controlled trial is statistically inefficient: A simulation study. BMC Medical Research Methodology, 1(1), Article 6. https://doi.org/10.1186/1471-2288-1-6 ● Otwarty dostęp
- Wiffen, P. J., Derry, S., Bell, R. F., Rice, A. S. C., Tölle, T. R., Phillips, T., & Moore, R. A. (2017). Gabapentin for chronic neuropathic pain in adults. Cochrane Database of Systematic Reviews, 2017(6), Article CD007938. https://doi.org/10.1002/14651858.cd007938.pub4 ● Otwarty dostęp: pełny tekst
Cytowania BibTeX
@article{dworkin2008interpreting, author={Dworkin, Robert H. and Turk, Dennis C. and Wyrwich, Kathleen W. and Beaton, Dorcas and Cleeland, Charles S. and Farrar, John T. and Haythornthwaite, Jennifer A. and Jensen, Mark P. and Kerns, Robert D. and Ader, Deborah N. and Brandenburg, Nancy and Burke, Laurie B. and Cella, David and Chandler, Julie and Cowan, Penny and Dimitrova, Rozalina and Dionne, Raymond and Hertz, Sharon and Jadad, Alejandro R. and Katz, Nathaniel P. and Kehlet, Henrik and Kramer, Lynn D. and Manning, Donald C. and McCormick, Cynthia and McDermott, Michael P. and McQuay, Henry J. and Patel, Sanjay and Porter, Linda and Quessy, Steve and Rappaport, Bob A. and Rauschkolb, Christine and Revicki, Dennis A. and Rothman, Margaret and Schmader, Kenneth E. and Stacey, Brett R. and Stauffer, Joseph W. and von Stein, Thorsten and White, Richard E. and Witter, James and Zavisic, Stojan}, title={{Interpreting the clinical importance of treatment outcomes in chronic pain clinical trials: IMMPACT recommendations}}, journal={The Journal of Pain}, year={2008}, volume={9}, number={2}, pages={105--121}, doi={10.1016/j.jpain.2007.09.005}}@article{farrar2001clinical, author={Farrar, John T. and Young, James P., Jr. and LaMoreaux, Linda and Werth, John L. and Poole, Michael R.}, title={{Clinical importance of changes in chronic pain intensity measured on an 11-point numerical pain rating scale}}, journal={Pain}, year={2001}, volume={94}, number={2}, pages={149--158}, doi={10.1016/s0304-3959(01)00349-9}}@article{hjermstad2011studies, author={Hjermstad, Marianne Jensen and Fayers, Peter M. and Haugen, Dagny F. and Caraceni, Augusto and Hanks, Geoffrey W. and Loge, Jon H. and Fainsinger, Robin and Aass, Nina and Kaasa, Stein}, title={{Studies comparing numerical rating scales, verbal rating scales, and visual analogue scales for assessment of pain intensity in adults: A systematic literature review}}, journal={Journal of Pain and Symptom Management}, year={2011}, volume={41}, number={6}, pages={1073--1093}, doi={10.1016/j.jpainsymman.2010.08.016}}@article{norman2010likert, author={Norman, Geoff}, title={{Likert scales, levels of measurement and the “laws” of statistics}}, journal={Advances in Health Sciences Education}, year={2010}, volume={15}, number={5}, pages={625--632}, doi={10.1007/s10459-010-9222-y}}@article{olsen2018minimum, author={Olsen, Mette Frahm and Bjerre, Eik and Hansen, Maria Damkjær and Tendal, Britta and Hilden, Jørgen and Hróbjartsson, Asbjørn}, title={{Minimum clinically important differences in chronic pain vary considerably by baseline pain and methodological factors: Systematic review of empirical studies}}, journal={Journal of Clinical Epidemiology}, year={2018}, volume={101}, pages={87--106.e2}, doi={10.1016/j.jclinepi.2018.05.007}}@article{ostelo2008interpreting, author={Ostelo, Raymond W. J. G. and Deyo, Rick A. and Stratford, P. and Waddell, Gordon and Croft, Peter and Von Korff, Michael and Bouter, Lex M. and de Vet, Henrica C.}, title={{Interpreting change scores for pain and functional status in low back pain: Towards international consensus regarding minimal important change}}, journal={Spine}, year={2008}, volume={33}, number={1}, pages={90--94}, doi={10.1097/brs.0b013e31815e3a10}}@article{reips2008interval, author={Reips, Ulf-Dietrich and Funke, Frederik}, title={{Interval-level measurement with visual analogue scales in Internet-based research: VAS Generator}}, journal={Behavior Research Methods}, year={2008}, volume={40}, number={3}, pages={699--704}, doi={10.3758/brm.40.3.699}}@article{simkovic2019robustness, author={Šimkovic, Matúš and Träuble, Birgit}, title={{Robustness of statistical methods when measure is affected by ceiling and/or floor effect}}, journal={PLOS ONE}, year={2019}, volume={14}, number={8}, eid={e0220889}, doi={10.1371/journal.pone.0220889}}@article{snapinn2007responder, author={Snapinn, Steven M. and Jiang, Qi}, title={{Responder analyses and the assessment of a clinically relevant treatment effect}}, journal={Trials}, year={2007}, volume={8}, number={1}, eid={31}, doi={10.1186/1745-6215-8-31}}@article{vickers2001use, author={Vickers, Andrew J.}, title={{The use of percentage change from baseline as an outcome in a controlled trial is statistically inefficient: A simulation study}}, journal={BMC Medical Research Methodology}, year={2001}, volume={1}, number={1}, eid={6}, doi={10.1186/1471-2288-1-6}}@article{wiffen2017gabapentin, author={Wiffen, Philip J. and Derry, Sheena and Bell, Rae Frances and Rice, Andrew S. C. and Tölle, Thomas Rudolf and Phillips, Tudor and Moore, R. Andrew}, title={{Gabapentin for chronic neuropathic pain in adults}}, journal={Cochrane Database of Systematic Reviews}, year={2017}, volume={2017}, number={6}, eid={CD007938}, doi={10.1002/14651858.cd007938.pub4}}