Лесная диаграмма (иногда называемая «блоббограммой») используется в метаанализе для визуализации результатов нескольких исследований на одном графике.
На оси x отображается представляющее интерес значение в исследованиях (часто отношение шансов, величина эффекта или средняя разница), а на оси y - результаты каждого отдельного исследования.
Этот тип графика предлагает удобный способ визуализировать результаты нескольких исследований одновременно.
В следующем примере показано, как создать лесной участок в R.
Пример: Лесной участок в R
Чтобы создать лесной график в R, нам нужно сначала создать фрейм данных для хранения размера эффекта (или любого другого интересующего значения) и верхнего и нижнего доверительных интервалов для каждого исследования:
#create data
df <- data.frame(study=c('S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'),
index=1:7,
effect=c(-.4, -.25, -.1, .1, .15, .2, .3),
lower=c(-.43, -.29, -.17, -.02, .04, .17, .27),
upper=c(-.37, -.21, -.03, .22, .24, .23, .33))
#view data
head(df)
study index effect lower upper
1 S1 1 -0.40 -0.43 -0.37
2 S2 2 -0.25 -0.29 -0.21
3 S3 3 -0.10 -0.17 -0.03
4 S4 4 0.10 -0.02 0.22
5 S5 5 0.15 0.04 0.24
6 S6 6 0.20 0.17 0.23
7 S7 7 0.30 0.27 0.33
Затем мы можем использовать функции из пакета визуализации данных ggplot2 для создания следующего графика леса:
#load ggplot2
library (ggplot2)
#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
geom_point() +
geom_errorbarh(height= .1 ) +
scale_y_continuous(name = "", breaks=1: nrow(df), labels=df$study)
По оси X отображается размер эффекта для каждого исследования, а по оси Y — название каждого исследования.
Точки на графике отображают размер эффекта для каждого исследования, а планки погрешностей показывают границы доверительного интервала.
Обратите внимание, что мы также можем добавить заголовок, изменить метки осей и добавить вертикальную линию с нулевым размером эффекта, чтобы сделать диаграмму более эстетичной:
#load ggplot2
library (ggplot2)
#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
geom_point() +
geom_errorbarh(height= .1 ) +
scale_y_continuous(breaks=1: nrow(df), labels=df$study) +
labs(title='Effect Size by Study', x='Effect Size', y = 'Study') +
geom_vline(xintercept=0, color='black', linetype='dashed', alpha= .5 ) +
theme_minimal()
Не стесняйтесь изменять тему сюжета, чтобы он выглядел так, как вам хочется. Например, мы могли бы также использовать theme_classic() для еще более классического вида:
#load ggplot2
library (ggplot2)
#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
geom_point() +
geom_errorbarh(height= .1 ) +
scale_y_continuous(breaks=1: nrow(df), labels=df$study) +
labs(title='Effect Size by Study', x='Effect Size', y = 'Study') +
geom_vline(xintercept=0, color='black', linetype='dashed', alpha= .5 ) +
theme_classic()
Дополнительные ресурсы
Как создать лесной участок в Excel
Полное руководство по лучшим темам ggplot2