O co pytamy, gdy mierzymy zmienność regulacji emocji
W badaniu ESM (inaczej EMA) uczestnik przy każdym sygnale ocenia, w jakim stopniu od poprzedniego pomiaru stosował kilka strategii regulacji emocji, np. ruminację, odwracanie uwagi, przeformułowanie, tłumienie ekspresji i dzielenie się emocjami. Dane mają trzy wymiary: osoba × pomiar × strategia. Ich przygotowanie i modele wielopoziomowe opisujemy w przeglądzie badania dzienniczkowe i EMA – analiza danych. Tu pytamy, jak zamienić profil strategii w liczbę opisującą, jak bardzo regulacja zmienia się w czasie i między strategiami.
Lo i in. (2024) wskazują dwa procesy, które taki wskaźnik powinien wychwytywać: przełączanie (spada jedna strategia, rośnie inna) i zmianę nasilenia (wszystkie strategie rosną lub maleją razem).
Wskaźniki oparte na odchyleniu standardowym
Niech xsti oznacza ocenę strategii s w pomiarze t osoby i, L – liczbę strategii, Ni – liczbę pomiarów osoby. Blanke i in. (2020) liczą średnie nasilenie strategii w pomiarze i odchylenie standardowe między strategiami, a wartość osoby to średnia z pomiarów:
Zmienność w obrębie strategii to SD strategii w czasie, uśrednione po strategiach (istnieje tylko na poziomie osoby):
Wang i in. (2021) stosują te same wskaźniki, a dodatkowo SD każdej strategii osobno. Lo i in. (2024) dodają wersję czasową: różnicę SDmiędzy w pomiarach t i t − 1.
Pułapka: zależność od średniej. Na skali ograniczonej z obu stron przy bardzo niskim lub wysokim nasileniu duże SD jest niemożliwe. Blanke i in. (2020) kontrolują więc średnie nasilenie, a Wenzel i in. (2022) wskazują, że taka kontrola niesie współliniowość i nie usuwa nieliniowej zależności. Lo i in. (2024) dodają, że SD ignoruje kolejność pomiarów i to, które strategie były używane.
Względne SD
Wenzel i in. (2022) dzielą SD przez największe SD możliwe przy tej samej średniej, liczbie wartości i granicach skali. Pomysł pochodzi od Mestdagh i in. (2018), którzy pokazali, że miary zmienności zmiennych ograniczonych są uwikłane w średnią.
Przy czterech ocenach 0–6 i średniej 1 maksimum daje układ 0, 0, 0, 4 (SDmaks = 2.00), a przy średniej 3 układ 0, 0, 6, 6 (3.46); nasza funkcja odtwarza oba przykłady z artykułu. RSD jest nieokreślone, gdy średnia leży na granicy skali.
Bray–Curtis: różnica między kolejnymi profilami strategii
Lo i in. (2024) przenieśli do badań nad regulacją miarę z ekologii, gdzie porównuje skład gatunków między próbami. Zamiast gatunków mamy strategie, zamiast prób – kolejne pomiary:
Wskaźnik ma wartości od 0 (identyczne profile) do 1. Lo i in. (2024) dzielą go za Baselgą (2013) na dwa składniki, a Chen i in. (2026) podają wzory krok po kroku. Liczysz część wspólną A = Σ min(xs,t, xs,t−1) oraz nadwyżki B = Σ xs,t − A i C = Σ xs,t−1 − A:
wymiana = min(B, C) / [A + min(B, C)]
zagnieżdżenie = |B − C| / (2A + B + C) × A / [A + min(B, C)]
Składniki sumują się do pełnego wskaźnika. Wymiana (replacement) odpowiada przełączaniu, a zagnieżdżenie (nestedness, u Chen i in. endorsement change) – wspólnej zmianie nasilenia (rysunek 1).
Praktyczne zasady z artykułów:
- Pomiar z samymi zerami daje wskaźnik nieokreślony, a po brakującym sygnale wskaźnika nie policzysz (Lo i in., 2024). Autorzy proponują wtedy porównanie ze wszystkimi pomiarami osoby albo imputację; skutki braków omawia wpis o modelu autoregresyjnym i brakach danych.
- Raportuj pełny wskaźnik, a składniki interpretuj razem, bo zagnieżdżenie zależy matematycznie od wymiany.
- W symulacjach Lo i in. (2024) pełny wskaźnik nie zależał od liczby strategii ani pomiarów, ale składniki tak: więcej strategii dawało większą wymianę i mniejsze zagnieżdżenie.
- Przy strategiach ocenianych binarnie Chen i in. (2026) użyli odpowiednika Sørensena; zmiana nasilenia oznacza wtedy zmianę liczby użytych strategii.
Lo i in. (2024) piszą, że mianownik kontroluje średnią. Sprawdzamy to w R: podwojenie wszystkich ocen nie zmienia wskaźnika (0.80), ale dodanie 1 do każdej oceny obniża go do 0.40. Wskaźnik nie zależy od skali, ale zależy od poziomu tła.
Przełączanie i liczba strategii
Przełączanie nie ma w tych artykułach osobnego wzoru – operacjonalizuje je składnik wymiany (Lo i in., 2024; Chen i in., 2026). Żaden z pięciu artykułów nie definiuje też indeksu polirregulacji (jednoczesnego użycia wielu strategii). Najbliżej są entropia Wenzel i in. (2022) i zagnieżdżenie przy danych binarnych. Jeśli liczysz strategie w momencie, zdefiniuj tę miarę w planie analizy.
Pięć dalszych wskaźników dynamiki
Wenzel i in. (2022) przenieśli do badań nad regulacją miary z badań dynamiki afektu, liczone dla każdej strategii lub osoby i uśredniane:
- Niestabilność – RMSSD = √[ Σt (xt − xt−1)² / (n − 1) ]; w odróżnieniu od SD uwzględnia kolejność pomiarów.
- Bezwładność – AR: nachylenie z modelu wielopoziomowego, w którym strategia w t zależy od siebie w t − 1 (centrowanej w osobie), z losowym nachyleniem; odpowiednik autokorelacji.
- Przewidywalność – %DET: odsetek punktów rekurencji (pomiarów o tej samej wartości) tworzących linie ukośne, czyli powtarzające się sekwencje co najmniej dwóch wartości.
- Różnicowanie – 1 − ICC: ICC zgodności z macierzy pomiary × strategie, ujemne ICC = 0.
- Różnorodność – entropia: ENT = −Σs ps ln ps, gdzie ps to udział strategii s we wszystkich użyciach (ocena > 0).
W pięciu zbiorach (N = 717) osiem miar tworzyło pięć czynników; średnie nasilenie wiązało się z wyższym, a zmienność między strategiami (RSD) i przewidywalność – z niższym afektem negatywnym. Autorzy podsumowują: korzystna regulacja może być zmienna, ale nie niestabilna, i przewidywalna, ale nie bezwładna.
Porównanie wskaźników
| Wskaźnik | Co uchwytuje | Wymagania | Pułapki | Źródło |
|---|---|---|---|---|
| SD między strategiami | priorytet kilku strategii w momencie | ≥ 2 strategie | zależy od średniej; ślepe na kolejność | Blanke i in. (2020); Wang i in. (2021) |
| SD w obrębie strategii | wahania strategii w czasie | wiele pomiarów; tylko poziom osoby | zależy od średniej; nie odróżnia przełączania od nasilenia | Blanke i in. (2020); Wang i in. (2021) |
| RSD | jak SD, względem maksimum przy danej średniej | znane granice skali | nieokreślone na granicy skali | Wenzel i in. (2022); Mestdagh i in. (2018) |
| Bray–Curtis | zmiana całego profilu między pomiarami | kolejne pomiary; nie same zera | nieokreślony po braku; zależny od poziomu tła | Lo i in. (2024) |
| Wymiana / zagnieżdżenie | przełączanie / wspólna zmiana nasilenia | jak Bray–Curtis | zależą od liczby strategii i od siebie | Lo i in. (2024); Chen i in. (2026) |
| RMSSD | wielkość zmian z pomiaru na pomiar | kolejne pomiary | zależy od średniej | Wenzel i in. (2022) |
| AR | przenoszenie strategii na kolejny pomiar | model wielopoziomowy | najsłabsza rzetelność w ich danych | Wenzel i in. (2022) |
| %DET | powtarzalne sekwencje | długi szereg; promień rekurencji | nie mówi, które wzorce się powtarzają | Wenzel i in. (2022) |
| 1 − ICC / entropia | niezależność / równomierność strategii | macierz pomiary × strategie | bez wartości ponad inne miary; entropia zależy od średniej | Wenzel i in. (2022) |
Zmienność to nie elastyczność
Blanke i in. (2020) i Wenzel i in. (2022) zakładali, że sytuacje codzienne ciągle się zmieniają, i zaznaczali, że kontekstu nie mierzyli. Wang i in. (2021) przyznają, że ich wskaźniki obejmują też przypadkowe wahania. Chen i in. (2026) sprawdzili to wprost: policzyli Bray–Curtis dla profilu strategii i dla profilu cech sytuacji (np. obowiązki, zagrożenie, kontakt z innymi, kontrola), a w modelu wielopoziomowym wpisali interakcję wymian, centrowanych w osobie:
WER i WK to wymiana w strategiach i w kontekście; średnie osób weszły na poziomie 2 jako kowarianty. Według prostych nachyleń przełączanie przy stabilnym kontekście (−1 SD) wiązało się z wyższym afektem negatywnym, a w badaniu EMA z wyższym nasileniem objawów; przy zmiennym kontekście nie miało z nimi związku. W badaniu dzienniczkowym efekt przestał być istotny po kontroli afektu z poprzedniego dnia. Zmienność przy stałym kontekście autorzy nazywają chwiejnością (volatility), a stałą regulację w zmiennym kontekście – sztywnością. Wysoki wskaźnik zmienności nie dowodzi więc elastyczności; do tego trzeba mierzyć kontekst.
Przykład w R: pięć strategii, 120 osób
Symulujemy 120 osób, 8 dni po 7 sygnałów, pięć strategii (0–6) i afekt negatywny (0–6). Po usunięciu ok. 15% sygnałów zostało 5752 pomiarów. Każda osoba ma własną skłonność do zmiany strategii głównej; afekt negatywny rośnie z nasileniem regulacji i maleje z tą skłonnością. Bray–Curtis liczymy dla sąsiednich sygnałów tego samego dnia (4218 par). Wyniki ręczne i z vegan::vegdist(method = "bray") są identyczne, a składniki zgadzają się z betapart. Średnio BC = 0.35, wymiana = 0.25, zagnieżdżenie = 0.10.
| Wskaźnik osoby | M (SD) | r ze średnim nasileniem | r ze skłonnością do zmiany |
|---|---|---|---|
| SD między strategiami | 1.63 (0.23) | .74 | −.03 |
| RSD między strategiami | 0.79 (0.06) | −.31 | −.08 |
| AR | 0.50 (0.08) | .11 | −.67 |
| Bray–Curtis | 0.35 (0.08) | −.27 | .69 |
| Wymiana | 0.25 (0.09) | −.09 | .73 |
W tej symulacji SD między strategiami mierzy głównie średnie nasilenie, a skłonność do zmiany najlepiej odtwarza wymiana (rysunek 2). Różnicowanie (1 − ICC) było niemal stałe (M = 1.00), bo przy jednej dominującej strategii ICC wychodziło ujemne – to własność naszych danych, nie reguła.
Bray–Curtis wpisujemy do modelu wielopoziomowego, jak Lo i in. (2024), z podziałem na składnik wewnątrzosobowy i międzyosobowy (zob. centrowanie zmiennych i model wielopoziomowy krok po kroku); tak samo kontrolujemy średnie nasilenie. W momentach z wyższym niż zwykle BC afekt negatywny był niższy: b = −0.16, 95% CI [−0.24, −0.09], t(4096) = −4.36, p < .001. Między osobami różnica 0.1 w średnim BC wiązała się z afektem niższym o 0.27 pkt: b = −2.68, 95% CI [−3.91, −1.46], t(117) = −4.30, p < .001. Po rozbiciu na składniki istotna była wymiana na obu poziomach (p < .001), a wewnątrzosobowe zagnieżdżenie nie (p = .072). Model nie zawiera kontekstu, więc nic nie mówi o elastyczności.
Jak opisać wskaźnik w artykule
Podaj wzór, sposób tworzenia par (sąsiednie sygnały, bez nocy i braków), liczbę wartości nieokreślonych, kontrolę średniego nasilenia i rozdzielenie poziomów:
Jeśli planujesz badanie ESM o regulacji emocji albo odpowiadasz recenzentowi w sprawie wskaźnika, przejrzymy plan analizy w ramach wsparcia statystycznego dla badaczy. O planowaniu publikacji piszemy w przewodniku doktorat i publikacje.
Przykład w R
Trzy przepisy uruchamiane po kolei w jednej sesji. Pierwszy tworzy dane i liczy Bray–Curtis, drugi pozostałe wskaźniki, trzeci model wielopoziomowy. Potrzebne pakiety: vegan, betapart, psych, lme4 i lmerTest.
1. Dane i Bray–Curtis: ręcznie, vegan i betapart
R
# Dane symulowane: badanie ESM, 120 osób × 8 dni × 7 sygnałów, 5 strategii regulacji emocji (0–6)
# oraz afekt negatywny (0–6). Część sygnałów pominięta (braki losowe).
set.seed(2024)
N <- 120; DNI <- 8; SYG <- 7
strategie <- c("ruminacja", "odwracanie", "przeformulowanie", "tlumienie", "dzielenie")
S <- length(strategie)
osoby <- data.frame(id = 1:N,
poziom = pmin(pmax(rnorm(N, 1.5, 0.5), 0.3), 3.5), # nasilenie strategii głównej
p_zmiany = plogis(rnorm(N, qlogis(.35), 0.8)), # skłonność do zmiany strategii głównej
u = rnorm(N, 0, 0.5)) # stały składnik afektu negatywnego
wiersze <- vector("list", N)
for (i in 1:N) {
pref <- rgamma(S, 1) # preferencje strategii danej osoby
d <- expand.grid(sygnal = 1:SYG, dzien = 1:DNI)[, 2:1]
X <- matrix(NA_real_, nrow(d), S, dimnames = list(NULL, strategie))
glowna <- integer(nrow(d)); zmiana <- logical(nrow(d))
for (t in seq_len(nrow(d))) {
if (d$sygnal[t] == 1) przes <- rnorm(1, 0, 0.5) # wahania dzienne intensywności
zmiana[t] <- d$sygnal[t] > 1 && runif(1) < osoby$p_zmiany[i]
glowna[t] <- if (d$sygnal[t] == 1 || zmiana[t]) sample(S, 1, prob = pref) else glowna[t - 1]
x <- 0.3 + przes + rnorm(S, 0, 0.4) # strategie poboczne
x[glowna[t]] <- osoby$poziom[i] + 2.5 + przes + rnorm(1, 0, 0.8) # strategia główna
X[t, ] <- pmin(pmax(round(x), 0), 6)
}
na <- 1.2 + 0.45 * rowMeans(X) - 1.6 * (osoby$p_zmiany[i] - .38) - 0.15 * zmiana + osoby$u[i] + rnorm(nrow(d), 0, 0.7)
wiersze[[i]] <- data.frame(id = i, d, X, afekt_neg = round(pmin(pmax(na, 0), 6), 2))
}
esm <- do.call(rbind, wiersze)
esm <- esm[runif(nrow(esm)) > .15, ] # ok. 15% pominiętych sygnałów
write.csv(esm, "esm-strategie-dane.csv", row.names = FALSE)
c(osoby = length(unique(esm$id)), pomiary = nrow(esm), sredn_na_osobe = round(nrow(esm) / N, 1))
# Bray–Curtis ręcznie: suma |x_j − x_k| / suma (x_j + x_k); podział Baselgi (2013) na składnik wymiany
# (replacement, przełączanie) i zagnieżdżenia (nestedness, zmiana nasilenia).
bray_curtis <- function(xk, xj) { # xk = pomiar t − 1, xj = pomiar t
A <- sum(pmin(xj, xk)); B <- sum(xj) - A; C <- sum(xk) - A
if (A + B + C == 0) return(c(bc = NA, wymiana = NA, zagniezdzenie = NA)) # same zera: wskaźnik nieokreślony
bc <- sum(abs(xj - xk)) / sum(xj + xk)
if (A + min(B, C) == 0) return(c(bc = bc, wymiana = 0, zagniezdzenie = bc)) # jeden profil same zera: tylko zmiana nasilenia
c(bc = bc, wymiana = min(B, C) / (A + min(B, C)), zagniezdzenie = abs(B - C) / (2 * A + B + C) * A / (A + min(B, C)))
}
# Kolejne pary pomiarów: tylko sąsiednie sygnały tego samego dnia (nie przez brak ani przez noc)
esm <- esm[order(esm$id, esm$dzien, esm$sygnal), ]
pop <- c(NA, head(seq_len(nrow(esm)), -1))
para_ok <- c(FALSE, diff(esm$sygnal) == 1 & diff(esm$dzien) == 0 & diff(esm$id) == 0)
Xm <- as.matrix(esm[, strategie])
bc <- t(sapply(seq_len(nrow(esm)), function(r)
if (para_ok[r]) bray_curtis(Xm[pop[r], ], Xm[r, ]) else c(bc = NA, wymiana = NA, zagniezdzenie = NA)))
esm <- cbind(esm, bc)
c(pary_kolejne = sum(para_ok), bc_nieokreslony_same_zera = sum(para_ok & is.na(esm$bc)))
# Kontrola 1: ten sam wynik z vegan::vegdist(method = "bray") dla wszystkich par
bc_vegan <- sapply(which(para_ok), function(r) # ostrzeżenia vegan dotyczą profili z samych zer
suppressWarnings(as.numeric(vegan::vegdist(Xm[c(pop[r], r), ], method = "bray"))))
round(c(maks_roznica_vegan = max(abs(bc_vegan - esm$bc[para_ok]), na.rm = TRUE)), 12)
# Kontrola 2: składniki z betapart::beta.pair.abund (bray.bal = wymiana, bray.gra = zagnieżdżenie), 200 par
prob <- head(which(para_ok & !is.na(esm$bc) & rowSums(Xm) > 0 & c(TRUE, rowSums(Xm)[-nrow(Xm)] > 0)), 200)
bp <- t(sapply(prob, function(r) unlist(betapart::beta.pair.abund(Xm[c(pop[r], r), ], index.family = "bray"))))
round(c(maks_roznica_wymiana = max(abs(bp[, "beta.bray.bal"] - esm$wymiana[prob])),
maks_roznica_zagniezdzenie = max(abs(bp[, "beta.bray.gra"] - esm$zagniezdzenie[prob])),
maks_suma_skladnikow_minus_bc = max(abs(esm$wymiana[prob] + esm$zagniezdzenie[prob] - esm$bc[prob]))), 12)
# Przykład: osoba 4, dzień 1 – profil strategii i Bray–Curtis między kolejnymi sygnałami
print(esm[esm$id == 4 & esm$dzien == 1, c("sygnal", strategie, "bc", "wymiana", "zagniezdzenie")], digits = 2, row.names = FALSE)
# Średnie wskaźniki dla momentów, w których BC jest określony
round(colMeans(esm[, c("bc", "wymiana", "zagniezdzenie")], na.rm = TRUE), 3)
# Bray–Curtis a poziom nasilenia: podwojenie wszystkich ocen nie zmienia wskaźnika, dodanie stałej – zmienia
x1 <- c(4, 0, 1, 0, 0); x2 <- c(0, 4, 1, 0, 0) # pełne przełączenie strategii głównej
round(c(oryginal = bray_curtis(x1, x2)[["bc"]], razy_2 = bray_curtis(2 * x1, 2 * x2)[["bc"]],
plus_1 = bray_curtis(x1 + 1, x2 + 1)[["bc"]]), 3)Wynik w R
osoby pomiary sredn_na_osobe
120.0 5752.0 47.9
pary_kolejne bc_nieokreslony_same_zera
4218 0
maks_roznica_vegan
0
maks_roznica_wymiana maks_roznica_zagniezdzenie maks_suma_skladnikow_minus_bc
0 0 0
sygnal ruminacja odwracanie przeformulowanie tlumienie dzielenie bc wymiana zagniezdzenie
1 0 0 4 1 0 NA NA NA
2 0 0 5 0 0 0.20 0.20 0.000
3 1 4 0 1 1 1.00 1.00 0.000
4 1 4 1 0 1 0.14 0.14 0.000
5 4 0 1 0 0 0.67 0.60 0.067
6 5 0 1 0 1 0.17 0.00 0.167
7 4 1 0 1 0 0.38 0.33 0.051
bc wymiana zagniezdzenie
0.349 0.251 0.098
oryginal razy_2 plus_1
0.8 0.8 0.4 2. Pozostałe wskaźniki na poziomie osoby
R
# Wskaźniki zmienności na poziomie momentu i osoby (kontynuacja przepisu 1: obiekty esm, strategie, para_ok, pop)
MIN <- 0; MAX <- 6
# Największe możliwe SD przy danej średniej, liczbie wartości i granicach skali (idea Mestdagh i in., 2018):
# k wartości na maksimum, jedna pośrednia, reszta na minimum
sd_maks <- function(m, n, a = MIN, b = MAX) {
if (is.na(m) || m <= a || m >= b) return(NA)
k <- floor(n * (m - a) / (b - a)); r <- n * m - k * b - (n - k - 1) * a
sd(c(rep(b, k), r, rep(a, n - k - 1)))
}
c(sd_maks_M1 = sd_maks(1, 4), sd_maks_M3 = sd_maks(3, 4)) # 4 wartości na skali 0–6
rsd <- function(x) { x <- x[!is.na(x)]; s <- sd_maks(mean(x), length(x)); if (is.na(s)) NA else sd(x) / s }
# Poziom momentu: średnie nasilenie, SD między strategiami i jego względna wersja (RSD)
esm$srednia_t <- rowMeans(esm[, strategie])
esm$sd_miedzy_t <- apply(esm[, strategie], 1, sd)
esm$rsd_miedzy_t <- apply(esm[, strategie], 1, rsd)
esm$sd_miedzy_roznica <- ifelse(para_ok, esm$sd_miedzy_t - esm$sd_miedzy_t[pop], NA) # kolejna różnica SD
# %DET (przewidywalność): punkty rekurencji (te same wartości, promień 0) w liniach ukośnych ≥ 2 / wszystkie punkty
det_proc <- function(x) {
x <- x[!is.na(x)]
if (length(unique(x)) < 2) return(NA)
R <- outer(x, x, "==") & lower.tri(diag(length(x)))
if (sum(R) == 0) return(NA)
w_linii <- R & (rbind(FALSE, cbind(FALSE, R[-nrow(R), -ncol(R)])) | rbind(cbind(R[-1, -1], FALSE), FALSE))
sum(w_linii) / sum(R)
}
det_proc(c(1, 2, 3, 1, 2, 4, 3)) # 2 z 3 punktów rekurencji w linii ukośnej
# ICC(3,1) zgodności: wiersze = sygnały, kolumny = strategie; różnicowanie = 1 − ICC (ujemne ICC → 0)
icc31 <- function(M) {
M <- M[complete.cases(M), , drop = FALSE]; n <- nrow(M); k <- ncol(M)
sr <- k * sum((rowMeans(M) - mean(M))^2) / (n - 1)
se <- sum((M - outer(rowMeans(M), colMeans(M), "+") + mean(M))^2) / ((n - 1) * (k - 1))
(sr - se) / (sr + (k - 1) * se)
}
entropia <- function(M) { p <- colSums(M > 0) / sum(M > 0); p <- p[p > 0]; -sum(p * log(p)) }
rmssd <- function(x, ok) sqrt(mean((x[ok] - x[which(ok) - 1])^2))
osoba <- do.call(rbind, lapply(split(esm, esm$id), function(d) {
M <- as.matrix(d[, strategie]); ok <- c(FALSE, diff(d$sygnal) == 1 & diff(d$dzien) == 0)
data.frame(id = d$id[1],
srednia = mean(M),
sd_w_strategii = mean(apply(M, 2, sd)),
rsd_w_strategii = mean(apply(M, 2, rsd), na.rm = TRUE),
sd_miedzy = mean(d$sd_miedzy_t),
rsd_miedzy = mean(d$rsd_miedzy_t, na.rm = TRUE),
rmssd = mean(apply(M, 2, rmssd, ok = ok)),
det = mean(apply(M, 2, det_proc), na.rm = TRUE),
roznicowanie = 1 - max(icc31(M), 0),
entropia = entropia(M),
bc = mean(d$bc, na.rm = TRUE),
wymiana = mean(d$wymiana, na.rm = TRUE),
zagniezdzenie = mean(d$zagniezdzenie, na.rm = TRUE),
afekt_neg = mean(d$afekt_neg))
}))
# Kontrola ICC z psych::ICC dla osoby 1
M1 <- as.matrix(esm[esm$id == 1, strategie])
round(c(icc_wlasne = icc31(M1), icc_psych = psych::ICC(M1, lmer = FALSE)$results["Single_fixed_raters", "ICC"]), 4)
# Bezwładność (AR): dla każdej strategii model wielopoziomowy x_t ~ x_(t−1) (centrowane w osobie),
# losowe nachylenie; nachylenia osób uśrednione po strategiach
ar_osob <- sapply(strategie, function(s) {
d <- data.frame(id = esm$id, y = esm[[s]], lag = ifelse(para_ok, esm[[s]][pop], NA))
d$lag_c <- d$lag - ave(d$lag, d$id, FUN = function(z) mean(z, na.rm = TRUE))
m <- lme4::lmer(y ~ lag_c + (lag_c | id), data = d, control = lme4::lmerControl(calc.derivs = FALSE))
coef(m)$id[as.character(osoba$id), "lag_c"]
})
osoba$ar <- rowMeans(ar_osob)
wsk <- c("sd_w_strategii", "rsd_w_strategii", "sd_miedzy", "rsd_miedzy", "rmssd", "ar", "det",
"roznicowanie", "entropia", "bc", "wymiana", "zagniezdzenie")
opis <- data.frame(M = colMeans(osoba[, wsk]), SD = apply(osoba[, wsk], 2, sd),
r_ze_srednia = cor(osoba[, wsk], osoba$srednia)[, 1],
r_z_p_zmiany = cor(osoba[, wsk], osoby$p_zmiany)[, 1])
round(opis, 2)Wynik w R
sd_maks_M1 sd_maks_M3
2.000000 3.464102
[1] 0.6666667
icc_wlasne icc_psych
-0.0981 -0.0981
M SD r_ze_srednia r_z_p_zmiany
sd_w_strategii 1.32 0.20 0.66 0.01
rsd_w_strategii 0.59 0.06 0.24 -0.05
sd_miedzy 1.63 0.23 0.74 -0.03
rsd_miedzy 0.79 0.06 -0.31 -0.08
rmssd 1.25 0.27 0.44 0.59
ar 0.50 0.08 0.11 -0.67
det 0.67 0.07 -0.67 -0.39
roznicowanie 1.00 0.02 0.12 -0.12
entropia 1.57 0.04 0.52 0.13
bc 0.35 0.08 -0.27 0.69
wymiana 0.25 0.09 -0.09 0.73
zagniezdzenie 0.10 0.03 -0.50 -0.343. Bray–Curtis jako predyktor afektu negatywnego
R
# Bray–Curtis jako predyktor afektu negatywnego: składnik wewnątrzosobowy (centrowanie w osobie)
# i międzyosobowy (średnia osoby, centrowana względem średniej ogólnej), kontrola średniego nasilenia regulacji
suppressPackageStartupMessages(library(lmerTest))
d <- esm[!is.na(esm$bc), ]
for (v in c("bc", "srednia_t")) {
d[[paste0(v, "_b")]] <- ave(d[[v]], d$id) # średnia osoby
d[[paste0(v, "_w")]] <- d[[v]] - d[[paste0(v, "_b")]] # odchylenie od własnej średniej
d[[paste0(v, "_b")]] <- d[[paste0(v, "_b")]] - mean(d[[paste0(v, "_b")]])
}
m <- lmer(afekt_neg ~ bc_w + bc_b + srednia_t_w + srednia_t_b + (1 | id), data = d, REML = TRUE)
c(pomiary = nrow(d), osoby = length(unique(d$id)))
round(summary(m)$coefficients, 3)
round(confint(m, parm = c("bc_w", "bc_b"), method = "Wald"), 3)
# Ten sam model z rozbiciem na wymianę (przełączanie) i zagnieżdżenie (zmianę nasilenia)
for (v in c("wymiana", "zagniezdzenie")) {
d[[paste0(v, "_b")]] <- ave(d[[v]], d$id); d[[paste0(v, "_w")]] <- d[[v]] - d[[paste0(v, "_b")]]
d[[paste0(v, "_b")]] <- d[[paste0(v, "_b")]] - mean(d[[paste0(v, "_b")]])
}
m2 <- lmer(afekt_neg ~ wymiana_w + wymiana_b + zagniezdzenie_w + zagniezdzenie_b + srednia_t_w + srednia_t_b +
(1 | id), data = d, REML = TRUE)
round(summary(m2)$coefficients[2:5, ], 3)Wynik w R
pomiary osoby
4218 120
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 1.692 0.049 117.168 34.471 0.00
bc_w -0.164 0.038 4096.174 -4.359 0.00
bc_b -2.683 0.623 117.461 -4.304 0.00
srednia_t_w 0.426 0.024 4096.174 17.435 0.00
srednia_t_b 0.149 0.268 117.239 0.555 0.58
2.5 % 97.5 %
bc_w -0.237 -0.090
bc_b -3.905 -1.461
Estimate Std. Error df t value Pr(>|t|)
wymiana_w -0.167 0.038 4095.179 -4.353 0.000
wymiana_b -2.926 0.663 116.449 -4.412 0.000
zagniezdzenie_w -0.208 0.115 4095.179 -1.799 0.072
zagniezdzenie_b -5.257 2.490 116.254 -2.112 0.037Bibliografia oprogramowania
Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiety vegan, betapart, psych, lme4 i lmerTest); rysunki przygotowano w pakietach ggplot2 i patchwork.
- 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/
- vegan (wersja 2.7-3): Oksanen, J., Simpson, G., Blanchet, F., Kindt, R., Legendre, P., Minchin, P., O’Hara, R., Solymos, P., Stevens, M., Szoecs, E., Wagner, H., Barbour, M., Bedward, M., Bolker, B., Borcard, D., Borman, T., Carvalho, G., Chirico, M., De Caceres, M., … Weedon, J. (2026). vegan: Community ecology package [R package]. https://doi.org/10.32614/CRAN.package.vegan
- betapart (wersja 1.6.1): Baselga, A., Orme, D., Villeger, S., De Bortoli, J., Leprieur, F., Logez, M., Martinez-Santalla, S., Martin-Devasa, R., Gomez-Rodriguez, C., & Crujeiras, R. (2025). betapart: Partitioning beta diversity into turnover and nestedness components [R package]. https://doi.org/10.32614/CRAN.package.betapart
- 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
- lme4 (wersja 2.0.1): Bates, D., Mächler, M., Bolker, B., & Walker, S. (2015). Fitting linear mixed-effects models using lme4. Journal of Statistical Software, 67(1), 1–48. https://doi.org/10.18637/jss.v067.i01
- lmerTest (wersja 3.2.1): Kuznetsova, A., Brockhoff, P. B., & Christensen, R. H. B. (2017). lmerTest package: Tests in linear mixed effects models. Journal of Statistical Software, 82(13), 1–26. https://doi.org/10.18637/jss.v082.i13
- ggplot2 (wersja 4.0.2): Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org
- patchwork (wersja 1.3.2): Pedersen, T. L. (2025). patchwork: The composer of plots [R package]. https://doi.org/10.32614/CRAN.package.patchwork
Najczęstsze błędy
- „Większa zmienność = elastyczność”. Bez pomiaru kontekstu to założenie, nie wynik (Chen i in., 2026).
- Surowe SD bez kontroli średniej. Porównaj z RSD albo kontroluj średnią i opisz ograniczenia miar względnych.
- Bray–Curtis przez brak sygnału albo przez noc i raportowanie samego składnika zamiast pełnego wskaźnika.
- Mieszanie poziomów. Wnioskowanie z poziomu osób o momentach grozi błędem ekologicznym.
- Wiele powiązanych wskaźników w jednym modelu. Wenzel i in. (2022) wybierali je adaptacyjnym LASSO z walidacją krzyżową.
- Brak rzetelności wskaźnika. Sprawdź rzetelność wielopoziomową (zob. przewodnik psychometria i budowa skal).
Najczęstsze pytania
Jak policzyć Bray–Curtis dla danych ESM w R?
Dla każdej pary sąsiednich sygnałów tej samej osoby podziel sumę bezwzględnych różnic ocen strategii przez sumę wszystkich ocen z obu sygnałów. To samo daje vegan::vegdist(rbind(x_poprzedni, x_obecny), method = "bray"). Pomiń pary obejmujące brakujący sygnał lub noc, a pomiary z samymi zerami oznacz jako nieokreślone.
Czym różni się wymiana od zagnieżdżenia w Bray–Curtis?
Wymiana (replacement) mierzy zastąpienie jednych strategii innymi, czyli przełączanie. Zagnieżdżenie (nestedness) mierzy wspólny wzrost lub spadek nasilenia wszystkich strategii. Oba składniki sumują się do pełnego wskaźnika; Lo i in. (2024) zalecają zawsze raportować pełny wskaźnik i interpretować składniki razem.
Dlaczego SD między strategiami trzeba kontrolować średnią?
Na skali ograniczonej z obu stron największe możliwe SD zależy od średniej, więc osoby z bardzo niskim lub wysokim nasileniem strategii nie mogą mieć dużej zmienności. W naszej symulacji SD między strategiami korelowało ze średnim nasileniem na poziomie r = .74. Kontroluj średnią w modelu albo użyj względnego SD (Mestdagh i in., 2018).
Czy większa zmienność regulacji emocji oznacza elastyczność?
Nie. Chen i in. (2026) pokazali, że przełączanie strategii przy stabilnym kontekście wiązało się z wyższym afektem negatywnym lub nasileniem objawów, a przy zmiennym kontekście nie miało z nimi związku. Elastyczność to dopasowanie zmian regulacji do zmian sytuacji, więc wymaga pomiaru kontekstu.
Który wskaźnik zmienności regulacji emocji wybrać do artykułu?
Wybierz go na podstawie pytania. Bray–Curtis z podziałem na składniki odpowiada na pytanie o przełączanie i zmianę nasilenia między pomiarami, względne SD – o priorytet strategii przy kontroli średniej, a RMSSD, AR i %DET – o dynamikę w czasie. Podaj wzór, sposób tworzenia par pomiarów i kontrolę średniego nasilenia.
Powiązane hasła
Przeczytaj też
Badania dzienniczkowe i EMA – analiza danych
Compliance, ICC, centrowanie w osobie, opóźnienia w obrębie dnia, reaktywność afektywna w lme4 i rzetelność zmiany – z kodem R i wzorem opisu.
Czytaj →PoradnikModel autoregresyjny i braki danych w ESM
Inercja afektu w modelu MLAR(1), centrowanie opóźnienia, compliance oraz braki MCAR i ogonowe – z symulacją w lme4 i zaleceniami projektowymi.
Czytaj →PoradnikModel wielopoziomowy krok po kroku w R
Pięć modeli na danych o pracownikach w zespołach: ICC, centrowanie CWC i CGM, losowe nachylenia, interakcja międzypoziomowa, REML a ML i wzór raportu.
Czytaj →Analizujesz regulację emocji w danych ESM?
Pomożemy dobrać wskaźnik zmienności do pytania badawczego, policzyć go poprawnie przy brakach sygnałów, rozdzielić poziomy w modelu wielopoziomowym i opisać wyniki tak, żebyś mógł(a) je samodzielnie obronić przed recenzentem.
Oferta dla badaczyPorozmawiaj o projekcieBibliografia i dalsza literatura naukowa (APA 7)
- Baselga, A. (2013). Separating the two components of abundance-based dissimilarity: Balanced changes in abundance vs. abundance gradients. Methods in Ecology and Evolution, 4(6), 552–557. https://doi.org/10.1111/2041-210x.12029 ● Otwarty dostęp
- Blanke, E. S., Brose, A., Kalokerinos, E. K., Erbas, Y., Riediger, M., & Kuppens, P. (2020). Mix it to fix it: Emotion regulation variability in daily life. Emotion, 20(3), 473–485. https://doi.org/10.1037/emo0000566 ● Otwarty dostęp: pełny tekst
- Chen, M. S., Bi, K., Deng, W., Zhu, Y., & Joormann, J. (2026). Variability is not flexibility: Emotion regulation switching predicts increased momentary distress when context is stable. Journal of Psychopathology and Clinical Science, 135(7), 994–1006. https://doi.org/10.1037/abn0001108
- Lo, T. T., Van Lissa, C. J., Verhagen, M., Hoemann, K., Erbaş, Y., & Maciejewski, D. F. (2024). A theory-informed emotion regulation variability index: Bray–Curtis dissimilarity. Emotion, 24(5), 1273–1285. https://doi.org/10.1037/emo0001344 ● Otwarty dostęp: pełny tekst
- Mestdagh, M., Pe, M., Pestman, W., Verdonck, S., Kuppens, P., & Tuerlinckx, F. (2018). Sidelining the mean: The relative variability index as a generic mean-corrected variability measure for bounded variables. Psychological Methods, 23(4), 690–707. https://doi.org/10.1037/met0000153
- Wang, X., Blain, S. D., Meng, J., Liu, Y., & Qiu, J. (2021). Variability in emotion regulation strategy use is negatively associated with depressive symptoms. Cognition and Emotion, 35(2), 324–340. https://doi.org/10.1080/02699931.2020.1840337
- Wenzel, M., Blanke, E. S., Rowland, Z., & Kubiak, T. (2022). Emotion regulation dynamics in daily life: Adaptive strategy use may be variable without being unstable and predictable without being autoregressive. Emotion, 22(7), 1487–1504. https://doi.org/10.1037/emo0000967
Cytowania BibTeX
@article{baselga2013separating, author={Baselga, Andrés}, title={{Separating the two components of abundance-based dissimilarity: Balanced changes in abundance vs. abundance gradients}}, journal={Methods in Ecology and Evolution}, year={2013}, volume={4}, number={6}, pages={552--557}, doi={10.1111/2041-210x.12029}}@article{blanke2020mix, author={Blanke, Elisabeth S. and Brose, Annette and Kalokerinos, Elise K. and Erbas, Yasemin and Riediger, Michaela and Kuppens, Peter}, title={{Mix it to fix it: Emotion regulation variability in daily life}}, journal={Emotion}, year={2020}, volume={20}, number={3}, pages={473--485}, doi={10.1037/emo0000566}}@article{chen2026variability, author={Chen, Mark Shuquan and Bi, Kaiwen and Deng, Wisteria and Zhu, Yutong and Joormann, Jutta}, title={{Variability is not flexibility: Emotion regulation switching predicts increased momentary distress when context is stable}}, journal={Journal of Psychopathology and Clinical Science}, year={2026}, volume={135}, number={7}, pages={994--1006}, doi={10.1037/abn0001108}}@article{lo2024theory, author={Lo, Tak Tsun and Van Lissa, Caspar J. and Verhagen, Maaike and Hoemann, Katie and Erbaş, Yasemin and Maciejewski, Dominique F.}, title={{A theory-informed emotion regulation variability index: Bray–Curtis dissimilarity}}, journal={Emotion}, year={2024}, volume={24}, number={5}, pages={1273--1285}, doi={10.1037/emo0001344}}@article{mestdagh2018sidelining, author={Mestdagh, Merijn and Pe, Madeline and Pestman, Wiebe and Verdonck, Stijn and Kuppens, Peter and Tuerlinckx, Francis}, title={{Sidelining the mean: The relative variability index as a generic mean-corrected variability measure for bounded variables}}, journal={Psychological Methods}, year={2018}, volume={23}, number={4}, pages={690--707}, doi={10.1037/met0000153}}@article{wang2021variability, author={Wang, Xiaoqin and Blain, Scott D. and Meng, Jie and Liu, Yuan and Qiu, Jiang}, title={{Variability in emotion regulation strategy use is negatively associated with depressive symptoms}}, journal={Cognition and Emotion}, year={2021}, volume={35}, number={2}, pages={324--340}, doi={10.1080/02699931.2020.1840337}}@article{wenzel2022emotion, author={Wenzel, Mario and Blanke, Elisabeth S. and Rowland, Zarah and Kubiak, Thomas}, title={{Emotion regulation dynamics in daily life: Adaptive strategy use may be variable without being unstable and predictable without being autoregressive}}, journal={Emotion}, year={2022}, volume={22}, number={7}, pages={1487--1504}, doi={10.1037/emo0000967}}