Nota do autor: Este tutorial foi produzido para atender um pedido de um dos participantes do curso de Imersão em Revisão Sistemática e Meta-Análise ministrado por mim e pelo professor Vinicius Civile. Se você também busca aprimorar a visualização gráfica do seu forest plot, espero que este material seja útil!

1 Introdução

Tradicionalmente, o Forest Plot permite avaliar a magnitude do efeito estimado, seu intervalo de confiança e sua significância estatística por meio da linha de nulidade (0 para diferenças ou 1 para razões).

Entretanto, uma diferença estatisticamente significante nem sempre representa um benefício importante para a prática clínica. Em muitas situações, o pesquisador deseja interpretar os resultados considerando um limiar previamente definido de importância clínica.

O pacote meta Balduzzi et al. (2019) permite incorporar um limiar de relevância clínica diretamente ao Forest Plot por meio do argumento cid dentro da função forest(). Esse argumento recebe o valor da diferença considerada clinicamente importante para o desfecho em estudo e adiciona ao gráfico uma linha vertical correspondente a esse limiar.

Neste tutorial, veremos como utilizar esse recurso para tornar a interpretação do Forest Plot mais informativa, distinguindo significância estatística de relevância clínica.

2 O que representa o argumento cid

Diferentemente da linha de nulidade, que representa apenas a ausencia de efeito estatístico significativo, a linha adicionada pelo argumento cid representa um limiar de importância clínica previamente estabelecido pelo pesquisador.

Esse valor deve ser definido antes da análise e fundamentado em critérios clínicos, evidências da literatura ou consenso entre especialistas. Dependendo do contexto, esse valor pode corresponder à MCID descrita na literatura ou a outro limiar de importância clínica previamente definido para a tomada de decisão Guyatt et al. (2011).

Ao adicionar essa linha ao Forest Plot, torna-se possível avaliar simultanemaente:

  • se existe evidência de benefício estatístico;

  • se a magnitude do efeito é comparável com um benefício clinicamente importante.

3 Exemplo Prático: Realidade Virtual e Equilíbrio Pós-AVC

Para demonstrar a aplicação prática neste tutorial, utilizaremos o mesmo exemplo de dados trabalhado durante o nosso curso, no qual realizamos juntos a extração dos dados dos artigos originais, a avaliação do risco de viés e os cálculos da metanálise.

O cenário clínico avalia a eficácia do uso de jogos interativos com videogame (realidade virtual) para a melhora do equilíbrio postural em indivíduos acometidos por Acidente Vascular Cerebral (AVC).

Os dados resultantes das etapas de extração e síntese quantitativa estão apresentados na tabela e no código a seguir. A partir deles, construiremos o Forest Plot adicionando a linha de relevância clínica para interpretar a relevância prática do benefício observado.

3.1 Dados da Meta-Análise

Os dados consolidados para os estudos incluídos estão estruturados abaixo:

Aqui está a explicação em tópicos de cada uma das colunas (vetores) do banco de dados, contextualizada exatamente para o cálculo da meta-análise para o desfecho equilíbrio postural:

  • Study (Caractere/Texto): Nome do primeiro autor e ano de publicação de cada ensaio clínico incluído na metanálise (ex: Cho 2012, Fritz 2013, Morone 2014). Serve para identificar individualmente cada estudo no Forest Plot.

  • n_e (Numérico): Número de participantes (tamanho da amostra) alocados no Grupo Experimental (que recebeu a intervenção com videogames/realidade virtual).

  • effect_e (Numérico): Efeito médio observado no Grupo Experimental. Representa a variação média da pontuação na Escala de Equilíbrio de Berg (diferença pós-tratamento versus pré-tratamento). Valores positivos indicam ganho médio em pontos na escala após a intervenção.

  • dp_e (Numérico): Desvio Padrão (Standard Deviation) do efeito no Grupo Experimental. Mede a dispersão ou variabilidade das mudanças nos escores do equilíbrio entre os indivíduos desse grupo.

  • n_c (Numérico): Número de participantes (tamanho da amostra) alocados no Grupo Controle (que recebeu o tratamento convencional ou comparador).

  • effect_c (Numérico): Efeito médio observado no Grupo Controle. Também mensurado pela diferença média da pontuação pós-pré na Escala de Equilíbrio de Berg para o grupo controle.

  • dp_c (Numérico): Desvio Padrão do efeito no Grupo Controle, refletindo a variabilidade das respostas individuais dos participantes do grupo controle.

3.2 Realizando a Meta-Análise

A partir de agora, utilizaremos o pacote meta para realizar a síntese quantitativa dos nossos dados.

Pré-requisito: Este tutorial pressupõe que você já tenha alguma experiência prévia com a linguagem R (como instalação de pacotes, manipulação básica de data frames e execução de funções). O nosso foco aqui será especificamente a condução da metanálise e a customização gráfica das linhas de equivalência.

Para dados contínuos, como a diferença de pontuação pré e pós-intervenção na Escala de Equilíbrio de Berg Berg et al. (1992), utilizaremos a função metacont(). Ela calculará a Diferença de Médias (Mean Difference - MD) para cada estudo individual e a estimativa do efeito global sumarizado.

# Instalar o pacote se ainda não tiver instalado:
# install.packages("meta")

# Carrega o pacote meta

library(meta)
## Loading required package: metabook
## Loading 'meta' package (version 8.5-0).
## Type 'help(meta)' for a brief overview.
# Conduzindo a metanálise para dados contínuos

meta_avc <- metacont(n.e = n_e, mean.e = effect_e, sd.e = dp_e,
                     n.c = n_c, mean.c = effect_c, sd.c = dp_c,
                     studlab = Study,
                     data = dados,
                     sm = "MD",             # Mean Difference (Diferença de Médias)
                     method.tau = "REML",   # Método para estimar a heterogeneidade
                     random = TRUE,         # Modelo de efeitos aleatórios
                     common = FALSE)

Para este tutorial, estamos utilizando a versão 8.5-0 do pacote meta. Como este tutorial pressupõe que você já possui familiaridade com a linguagem R e com a condução de metanálises, a ideia aqui não é detalhar exaustivamente cada argumento da função metacont().

Nosso foco principal está na extração das estimativas calculadas e na customização gráfica das linhas de equivalência no Forest Plot.

Caso deseje explorar em detalhes todos os parâmetros aceitos pela função (como métodos de estimação de τ^2, transformações de dados ou opções de ajuste de variância), você pode consultar a documentação oficial executando help(metacont) ou ?metacont no seu console do R. Ou me procure no Instagram e mande um direct que eu respondo.

3.2.1 Passo 1: Construindo o Forest Plot Tradicional (Sem Linhas de Equivalência)

Antes de adicionarmos os limiares de relevância clínica, vamos gerar o Forest Plot padrão. Este gráfico exibirá apenas a linha vertical de nulidade (0), indicando se há ou não significância estatística na diferença de médias da Escala de Equilíbrio de Berg.

Para construir o Forest Plot com o pacote meta, utilizamos a função forest(), a seguir:

forest(meta_avc,
       label.left = "Favours Control",
       label.right = "Favours Video Games")

Observe que o gráfico tradicional nos permite confirmar que o efeito global é estatisticamente significante (pois o intervalo de confiança não cruza a linha do zero) e a favor do vídeo game.

No entanto, ele não nos responde diretamente se esse ganho de pontos na Escala de Berg é grande o suficiente para ser clinicamente importante. Para resolver essa limitação, passaremos ao Passo 2, adicionando o limiar de relevância clínica.

3.2.2 Definindo o valor do cid

Antes de construirmos o gráfico, precisamos definir qual valor será utilizado no argumento cid.

Em estudos reais, esse valor deve ser estabelecido a priori e fundamentado em literatura científica, consenso de especialistas ou critérios clínicos previamente definidos. Não existe um valor universal aplicável a todos os desfechos.

Neste tutorial, meu objetivo é demonstrar o funcionamento do argumento cid do pacote meta. Por esse motivo, utilizarei 2,5 pontos como um limiar ilustrativo de benefício clínico adicional da Escala de Equilíbrio de Berg.

Essa escolha foi feita apenas para fins didáticos e permite visualizar como a inclusão da linha de relevância clínica modifica a intepretação do Fores Plot.

3.2.3 Passo 2: Construindo o Forest Plot com Linha de Relevância Clínica

forest(meta_avc,
       label.left = "Favours Control",
       label.right = "Favours Video Games",
       cid = 2.5)

A meta-análise estimou uma diferença de 1,77 pontos (IC95%: 1,00 a 2,54) em favor da intervenção.

Como o intervalo de confiança não cruza a linha de nulidade, existe evidência de benefício estatisticamente significativo.

Entretanto, considerando o limiar ilustrativo de relevância clínica definida pelo argumento cid (2,5 pontos), observa-se que a estimativa permanece abaixo desse valor, enquanrto o limite superior do intervalo de confiança o ultrapassa discretamente.

Isso indica que, embora a intervenção apresente benefício estatisticamente significativo, os dados ainda são inconclusivos quanto à relevância clínica, pois o intervalo de confiança é compatível tanto com efeitos inferiores ao limiar definido quanto com um benefício clinicamente importante.

3.2.4 Passo 3: Personalizando a Estética das Linhas no Forest Plot

O pacote meta permite que você personalize totalmente a aparência gráfica da linha de relevância clínica para adequá-la ao estilo visual do seu relatório ou aos padrões de formatação de periódicos científicos.

É importante destacar que esses argumentos modificam apenas a apresentação gráfica do limiar de relevância clínica no Forest Plot. Eles não alteram os cálculos da metanálise, a estimativa do efeito, os intervalos de confiança nem qualquer outro resultado estatístico, servindo exclusivamente para facilitar a interpretação visual dos achados.

Para isso, podemos adicionar os seguintes argumentos gráficos à função forest():

  • col.cid: Define a cor da linha (ex: “firebrick”, “darkblue”, “darkgreen”).

  • lty.cid: Define o estilo da linha (ex: 1 para sólida, 2 para tracejada, 3 para pontilhada, 4 para ponto-traço).

forest(meta_avc,
       label.left = "Favours Control",
       label.right = "Favours Video Games",
       cid = 2.5,
       col.cid = "firebrick",
       lty.cid = 2)

Além de alterar a cor e o estilo da linha, o pacote meta oferece o argumento fill.cid, que permite destacar visualmente a região compreendida entre a linha de nulidade (0) e o valor definido no argumento cid.

Esse recurso cria uma área sombreada no gráfico, facilitando a identificação visual da faixa correspondente ao limiar de relevância clínica e tornando a interpretação do Forest Plot mais intuitiva.

forest(meta_avc,
       label.left = "Favours Control",
       label.right = "Favours Video Games",
       cid = 2.5,
       col.cid = "firebrick",
       lty.cid = 2,
       fill = "lavender",
       fill.cid= "white")

Referências

Balduzzi, S., Rücker, G., & Schwarzer, G. (2019). How to perform a meta-analysis with r: A practical tutorial. Evidence-Based Mental Health, 22(4), 153–160. https://doi.org/10.1136/ebmental-2019-300117
Berg, K. O., Wood-Dauphinee, S. L., Williams, J. I., & Maki, B. (1992). Measuring balance in the elderly: Validation of an instrument. Canadian Journal of Public Health, 83, S7–S11.
Guyatt, G. H., Oxman, A. D., Kunz, R., et al. (2011). GRADE guidelines: 6. Rating the quality of evidence—imprecision. Journal of Clinical Epidemiology, 64(12), 1283–1293. https://doi.org/10.1016/j.jclinepi.2011.01.012