Słownik metodologiczny · Synteza badań

Trim-and-fill – jak skorygować metaanalizę o brakujące badania?

Metoda trim-and-fill szacuje, ile badań brakuje po jednej stronie wykresu lejkowego, i pokazuje, jak zmieniłby się efekt łączny po ich uzupełnieniu. Wyjaśniamy trzy kroki metody, przykład w R i ograniczenia.

Strona główna / Słownik / Trim-and-fill
W skrócie: Trim-and-fill usuwa skrajne małe badania z jednej strony wykresu lejkowego, szacuje liczbę brakujących badań i dopisuje ich odbicia, a potem liczy efekt łączny ponownie. Traktuj wynik jako analizę wrażliwości i podawaj go obok efektu nieskorygowanego.

Co to jest trim-and-fill?

Trim-and-fill (pol. „przytnij i uzupełnij”) to metoda korekty metaanalizy, która szacuje, ile badań brakuje po jednej stronie wykresu lejkowego, dopisuje ich lustrzane odbicia i liczy efekt łączny ponownie. Zaproponowali ją Duval i Tweedie (2000) jako prosty, oparty na rangach sposób sformalizowania oceny lejka. Jest jedną z odpowiedzi na błąd publikacji, czyli sytuację, w której małe badania z wynikiem nieistotnym rzadziej trafiają do druku.

Jak to działa?

  1. Trim: z bardziej „zaludnionej” strony lejka usuwa się najmniejsze, najbardziej skrajne badania, aż reszta stanie się symetryczna.
  2. Estymacja: z pozostałych badań szacuje się środek lejka i liczbę brakujących badań k0.
  3. Fill: usunięte badania wracają, a po przeciwnej stronie dopisuje się k0 ich odbić względem środka. Z pełnego zestawu liczy się skorygowany efekt i jego przedział ufności.

Test Eggera mówi, czy lejek jest asymetryczny. Trim-and-fill idzie krok dalej i pokazuje, jak mógłby wyglądać wynik, gdyby asymetrię wywołały brakujące badania.

Przykład

Symulowano 40 badań o prawdziwym d = 0.2 i „opublikowano” głównie te z dodatnim, istotnym wynikiem (dane symulowane). Do metaanalizy trafiło 20 badań. Model efektów losowych dał d = 0.26, 95% CI [0.17, 0.36]. Trim-and-fill dopisał 5 badań po lewej stronie lejka, a skorygowany efekt wyniósł d = 0.19, 95% CI [0.09, 0.29]. Korekta zbliżyła wynik do wartości prawdziwej, ale nie zmieniła wniosku, że efekt jest dodatni.

Jak opisać w pracy

Asymetrię wykresu lejkowego oceniono metodą trim-and-fill (Duval i Tweedie, 2000; estymator L0) jako analizę wrażliwości. Metoda wskazała 5 brakujących badań po lewej stronie lejka. Po ich uzupełnieniu efekt łączny zmalał z d = 0.26, 95% CI [0.17, 0.36], do d = 0.19, 95% CI [0.09, 0.29], i pozostał dodatni.

Na co uważać

  • To analiza wrażliwości, a nie „prawdziwy” efekt. Peters i in. (2007) pokazali w symulacjach, że przy dużej heterogeniczności metoda może zaniżać efekt nawet wtedy, gdy błędu publikacji nie ma. Asymetria lejka może mieć też inne przyczyny, np. różnice między małymi i dużymi badaniami.
  • Podaj oba wyniki – nieskorygowany i skorygowany – oraz estymator i stronę lejka.
  • Przy kilku badaniach wynik metody jest bardzo niepewny. Pełną procedurę w pakiecie metafor (Viechtbauer, 2010) pokazuje poradnik metaanaliza krok po kroku.
Przykład reprodukowalny

Trim-and-fill w R

Kod symuluje 40 badań z selektywną publikacją, dopasowuje model efektów losowych do opublikowanych i stosuje funkcję trimfill() z pakietu metafor.

Efekt przed korektą i po niej

Dane wejściowe: wielkości efektu d i ich wariancje z 40 symulowanych badań, z których „opublikowano” 20 (dane symulowane, set.seed(2726)).

Co odczytać: liczbę badań, efekt łączny z 95% CI, liczbę dopisanych badań k0, stronę lejka i efekt skorygowany.

R
library(metafor)
set.seed(2726)
n    <- sample(15:100, 40, replace = TRUE)             # liczebność grupy w 40 przeprowadzonych badaniach
vi   <- 2 / n + 0.2^2 / (4 * n)                        # wariancja d przy prawdziwym d = 0.2
yi   <- rnorm(40, 0.2, sqrt(vi + 0.05^2))              # niewielka heterogeniczność
p    <- 2 * pnorm(-abs(yi / sqrt(vi)))
publ <- (p < .05 & yi > 0) | runif(40) < 0.2            # pozostałe wyniki publikowane z szansą 20%
dane <- data.frame(yi, vi)[publ, ]
nrow(dane)                                              # liczba opublikowanych badań
res  <- rma(yi, vi, data = dane)                        # model efektów losowych (REML)
round(c(d = res$b[1], ci_lb = res$ci.lb, ci_ub = res$ci.ub), 2)
tf   <- trimfill(res)                                   # estymator L0, strona lejka wybierana automatycznie
c(k0 = tf$k0, strona = tf$side)                         # liczba dopisanych badań i strona lejka
round(c(d = tf$b[1], ci_lb = tf$ci.lb, ci_ub = tf$ci.ub), 2)
Wynik w R
[1] 20
    d ci_lb ci_ub 
 0.26  0.17  0.36 
    k0 strona 
   "5" "left" 
    d ci_lb ci_ub 
 0.19  0.09  0.29 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (pakiet metafor).

  1. 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/
  2. metafor (wersja 5.0.1): Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03

Najczęstsze pytania

Czy trim-and-fill udowadnia błąd publikacji?

Nie. Metoda zakłada, że asymetrię lejka wywołały brakujące badania, a może ona wynikać też z heterogeniczności lub różnic między małymi i dużymi badaniami. Traktuj ją jako analizę wrażliwości.

Co oznacza k0 w wyniku trim-and-fill?

To oszacowana liczba badań brakujących po jednej stronie wykresu lejkowego. Tyle lustrzanych odbić metoda dopisuje przed ponownym policzeniem efektu łącznego.

Jak wykonać trim-and-fill w R?

Dopasuj model funkcją rma() z pakietu metafor, a potem wywołaj trimfill() na wyniku. Funkcja podaje liczbę dopisanych badań, stronę lejka i efekt skorygowany z 95% CI.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Duval, S., & Tweedie, R. (2000). Trim and fill: A simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis. Biometrics, 56(2), 455–463. https://doi.org/10.1111/j.0006-341x.2000.00455.x
  2. Peters, J. L., Sutton, A. J., Jones, D. R., Abrams, K. R., & Rushton, L. (2007). Performance of the trim and fill method in the presence of publication bias and between-study heterogeneity. Statistics in Medicine, 26(25), 4544–4562. https://doi.org/10.1002/sim.2889
  3. Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. https://doi.org/10.18637/jss.v036.i03 ● Otwarty dostęp

Cytowania BibTeX

@article{duval2000trim, author={Duval, Sue and Tweedie, Richard}, title={{Trim and fill: A simple funnel-plot-based method of testing and adjusting for publication bias in meta-analysis}}, journal={Biometrics}, year={2000}, volume={56}, number={2}, pages={455--463}, doi={10.1111/j.0006-341x.2000.00455.x}}
@article{peters2007performance, author={Peters, Jaime L. and Sutton, Alex J. and Jones, David R. and Abrams, Keith R. and Rushton, Lesley}, title={{Performance of the trim and fill method in the presence of publication bias and between-study heterogeneity}}, journal={Statistics in Medicine}, year={2007}, volume={26}, number={25}, pages={4544--4562}, doi={10.1002/sim.2889}}
@article{viechtbauer2010conducting, author={Viechtbauer, Wolfgang}, title={{Conducting meta-analyses in R with the metafor package}}, journal={Journal of Statistical Software}, year={2010}, volume={36}, number={3}, pages={1--48}, doi={10.18637/jss.v036.i03}}
R