Форест-плот в Excel: как построить диаграмму леса для анализа данных

Форест-плот (или диаграмма леса) — это специализированный тип графика, который чаще всего используется в мета-анализах для визуализации результатов исследований. Он показывает оценки эффекта (например, относительный риск или разницу средних) с доверительными интервалами для каждого отдельного исследования, а также обобщённую оценку. Хотя для построения таких графиков обычно применяют статистические программы вроде R или Stata, в Microsoft Excel тоже можно создать качественный форест-плот — и мы расскажем, как это сделать без сложных скриптов.

Многие пользователи ошибочно думают, что для этого нужны плагины или макросы, но на самом деле достаточно стандартных инструментов: условного форматирования, вспомогательных столбцов и графика "точка-отрезок". В этой статье вы найдёте пошаговую инструкцию с примерами файлов, типичными ошибками и советами по оформлению. Даже если вы никогда не работали с мета-анализом, после прочтения сможете построить профессиональную диаграмму за 20-30 минут.

⚠️ Внимание: Excel не поддерживает автоматический расчёт обобщённой оценки (например, методом Мантеля-Хензеля или ДерСимониана-Лэрда). Для этого потребуется внешнее ПО. В данной статье мы сосредоточимся на визуализации уже рассчитанных данных.

Что такое форест-плот и зачем он нужен

Форест-плот (от англ. forest plot) — это графическое представление статистических оценок из нескольких исследований. Его ключевые элементы:

  • 📊 Точечные оценки (например, логарифм относительного риска или стандартная разница средних) для каждого исследования, отображаемые как квадраты или кружки.
  • 📏 Доверительные интервалы (обычно 95%), показанные горизонтальными линиями.
  • 🎯 Обобщённая оценка (например, по методу случайных эффектов), выделенная ромбом или вертикальной линией.
  • 📉 Линия нулевого эффекта (обычно значение 1 для относительных рисков или 0 для разницы средних).

Такие диаграммы широко применяются в:

  • 🔬 Медицинских исследованиях для сравнения эффективности лекарств.
  • 📚 Социальных науках при мета-анализе опросов.
  • 💼 Бизнес-аналитике для агрегирования данных по регионам или отделам.

В Excel мы сможем воспроизвести все эти элементы, но с одним ограничением: для расчёта обобщённой оценки потребуется использовать внешние инструменты (например, онлайн-калькуляторы мета-анализа) и затем импортировать результат в таблицу.

Подготовка данных: структура таблицы для форест-плота

Перед построением графика необходимо правильно организовать данные. Минимальный набор столбцов для одного исследования:

Столбец Описание Пример данных
Исследование Название или идентификатор исследования Smith et al. (2020)
Оценка Точечная оценка эффекта (например, логарифм OR) 0.45
Нижняя граница ДИ Нижняя граница доверительного интервала 0.21
Верхняя граница ДИ Верхняя граница доверительного интервала 0.98
Вес Вес исследования в обобщённой оценке (опционально) 12.5%

Дополнительные советы по подготовке:

  • 🔢 Если ваши данные в виде относительных рисков (OR) или отношений шансов, лучше предварительно взять от них натуральный логарифм (используйте функцию =LN()). Это упростит построение симметричных доверительных интервалов.
  • 📌 Для визуализации разницы средних логарифмирование не требуется.
  • ⚖️ Столбец с весами не обязателен, но поможетlater отобразить размер квадратов пропорционально влиянию исследования.

Пошаговая инструкция: создание форест-плота в Excel

Теперь перейдём к практике. Мы будем использовать комбинацию графика "точка-отрезок" и условного форматирования для имитации квадратов и линий.

Шаг 1. Добавьте вспомогательные столбцы

Создайте дополнительные колонки для визуализации:

  • Длина ДИ: =Верхняя_граница - Нижняя_граница
  • Центр ДИ: =Оценка (это центр квадрата)
  • Размер квадрата: =КОРЕНЬ(Вес) (если веса в %) или фиксированное значение (например, 0.1 для всех).

Шаг 2. Постройте график "точка-отрезок"

  1. Выделите столбцы: Центр ДИ, Нижняя граница ДИ, Верхняя граница ДИ.
  2. Перейдите на вкладку Вставка → Вставить график → Точка-отрезок.
  3. В появившемся графике горизонтальные линии будут доверительными интервалами, а точки — центрами оценок.

Шаг 3. Преобразуйте точки в квадраты

Щёлкните правой кнопкой по любой точке на графике → Формат ряда данных → измените Маркер на квадрат и установите размер (например, 10pt). Чтобы размер квадратов соответствовал весам исследований, используйте макрос или вручную отрегулируйте размер для каждого маркера.

Шаг 4. Добавьте линию нулевого эффекта

На вкладке Макет графика добавьте Горизонтальную линию (в Excel 2016+ это опция Линии сетки → Дополнительные параметры). Установите её позицию на значение нулевого эффекта (например, 0 для разницы средних или 1 для OR после обратного логарифмирования).

Доверительные интервалы симметричны относительно точечных оценок|

Линия нулевого эффекта проходит через правильное значение (0 или 1)|

Квадраты пропорциональны весам исследований (если используются)|

Подписи исследований читаемы и не накладываются друг на друга-->

Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при построении форест-плотов. Вот самые распространённые:

⚠️ Внимание: Если вы работаете с относительными рисками (OR) или отношениями шансов, не забывайте, что их доверительные интервалы несимметричны в оригинальном масштабе. Всегда берите логарифм перед построением графика, а оси подписывайте в обратном масштабе (например, "0.1", "0.5", "1", "2", "10" вместо "-2.3", "-0.7", "0", "0.7", "2.3").

Ошибка 1. Неправильный масштаб оси X

Если вы используете логарифмированные данные, но подписи оси оставляете в оригинальном масштабе, график будет неверно интерпретироваться. Решение: либо подписывайте ось логарифмированными значениями, либо добавьте вторую ось с правильными метками.

Ошибка 2. Квадраты одинакового размера

В классическом форест-плоте площадь квадрата пропорциональна весу исследования. Если все квадраты одинаковые, график теряет информативность. Решение: используйте столбец с весами для расчёта размера маркеров (вручную или через VBA).

Ошибка 3. Отсутствует линия нулевого эффекта

Без этой линии сложно оценить, какие исследования показывают статистически значимый эффект. Решение: добавьте вертикальную линию на значение 0 (для разницы средних) или 1 (для OR после экспоненты).

Ошибка 4. Перекрывающиеся подписи

Если названия исследований длинные, они могут накладываться. Решение: используйте Перенос текста в ячейках или сокращайте названия (например, "Smith et al. '20" вместо полного названия).

Относительный риск (OR)/отношение шансов|

Разница средних|

Другие показатели|

Не строил ранее-->

Продвинутые техники: автоматизация и оформление

Базового форест-плота достаточно для большинства задач, но можно улучшить его с помощью дополнительных приёмов:

1. Динамическое обновление при изменении данных

Если вы часто обновляете данные, свяжите график с динамическими именованными диапазонами. Например, создайте имя Оценки для диапазона с точечными оценками, а затем используйте его в качестве источника данных для графика. При изменении таблицы график будет обновляться автоматически.

=ДВССЫЛ("Лист1!$B$2:$B$" & СЧЁТЗ(Лист1!$B:$B))

2. Цветовая кодировка по качеству исследований

Добавьте столбец с оценкой качества (например, "Высокое", "Среднее", "Низкое") и используйте условное форматирование для окраски квадратов:

  • 🟢 Зелёный — высокое качество.
  • 🟡 Жёлтый — среднее.
  • 🔴 Красный — низкое.

3. Добавление обобщённой оценки

Если у вас есть рассчитанная обобщённая оценка (например, из RevMan или R), добавьте её на график как отдельную серию данных. Для ромба используйте Формат ряда данных → Маркер → Тип "Ромб".

4. Экспорт в векторный формат

Для публикации в статьях сохраните график как EMF или SVG (в Excel: Файл → Сохранить как → Другие форматы → Масштабируемая векторная графика). Это позволит редактировать текст и линии без потери качества.

Как добавить подписи к доверительным интервалам?

Чтобы подписать границы ДИ, создайте дополнительную серию данных с пустыми маркерами и подписями в виде меток данных. 1) Добавьте два столбца с нижней и верхней границами. 2) Вставьте на график новую серию с этими данными. 3) Установите для неё маркер "Нет" и добавьте метки данных (правый клик → "Добавить метки данных"). 4) Вручную отредактируйте метки, чтобы они отображали только границы (например, "[0.21, 0.98]").

Альтернативные способы: надстройки и VBA

Если стандартные инструменты Excel кажутся ограниченными, рассмотрите эти варианты:

1. Надстройка Forest Plot Builder

Бесплатная надстройка от University of Oxford, которая автоматизирует создание форест-плотов. Скачать можно на их официальном сайте. Преимущества:

  • 🔄 Автоматический расчёт обобщённой оценки (методы Мантеля-Хензеля и ДерСимониана-Лэрда).
  • 🎨 Готовые стили оформления для медицинских журналов.
  • 📊 Экспорт в PDF/PNG с высоким разрешением.

2. Makro для автоматизации

Если вам нужно часто строить форест-плоты, запишите макрос для повторяющихся действий. Пример кода для создания базового графика:

Sub CreateForestPlot()

Dim ws As Worksheet

Set ws = ActiveSheet

Dim chartObj As ChartObject

Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=500, Top:=50, Height:=300)

With chartObj.Chart

.ChartType = xlXYScatterLines

' Добавляем серии данных (замените диапазоны на свои)

.SeriesCollection.NewSeries

.SeriesCollection(1).XValues = ws.Range("C2:C10") ' Центр ДИ

.SeriesCollection(1).Values = ws.Range("A2:A10") ' Исследования (для легенды)

.SeriesCollection.NewSeries

.SeriesCollection(2).XValues = ws.Range("D2:D10") ' Нижняя граница

.SeriesCollection(2).Values = ws.Range("A2:A10")

.SeriesCollection.NewSeries

.SeriesCollection(3).XValues = ws.Range("E2:E10") ' Верхняя граница

.SeriesCollection(3).Values = ws.Range("A2:A10")

' Настройка маркеров

.SeriesCollection(1).MarkerStyle = xlSquare

.SeriesCollection(1).MarkerSize = 10

End With

End Sub

3. Онлайн-генераторы

Если Excel кажется слишком сложным, воспользуйтесь бесплатными онлайн-инструментами:

  • 🌐 Meta-Analysis.com — простой интерфейс для построения форест-плотов.
  • 📊 GraphPad Prism — платное ПО с пробным периодом, специализированное на научной визуализации.

Примеры готовых форест-плотов в Excel

Ниже представлены скриншоты и описания трёх типичных сценариев с файлами для скачивания.

Пример 1. Мета-анализ клинических испытаний

Данные: 5 исследований с оценкой относительного риска (OR) и 95% ДИ. Особенности:

  • 🔹 Логарифмический масштаб оси X.
  • 🔹 Квадраты пропорциональны весам.
  • 🔹 Обобщённая оценка добавлена как ромб.

Скачать пример

Пример 2. Сравнение средних значений

Данные: разница средних между двумя группами в 7 экспериментах. Особенности:

  • 🔹 Ось X с нулём по центру.
  • 🔹 Цветовая кодировка по уровню значимости (красный — p<0.05).

Скачать пример

Пример 3. Агрегирование опросов

Данные: доли респондентов в 10 опросах. Особенности:

  • 🔹 Доверительные интервалы рассчитаны по биномиальному распределению.
  • 🔹 Подписи исследований перенесены в легенду.

Скачать пример

FAQ: Частые вопросы по форест-плотам в Excel

Можно ли построить форест-плот в Excel Online?

Да, но с ограничениями. В веб-версии Excel нет возможности добавлять пользовательские маркеры (квадраты/ромбы), поэтому доверительные интервалы можно показать линиями, а точечные оценки — стандартными кружками. Для полноценного графика лучше использовать десктопную версию.

Как рассчитать обобщённую оценку прямо в Excel?

Для простых случаев (фиксированная модель) можно использовать формулу:

=СУММПРОИЗВ(Оценки; Веса) / СУММ(Веса)

где Веса — это 1/дисперсия для каждого исследования. Однако для моделей случайных эффектов (DerSimonian-Laird) потребуется R, Stata или онлайн-калькуляторы.

Почему мои доверительные интервалы асимметричны на графике?

Это происходит, если вы не взяли логарифм от OR/RR перед построением. Например, для OR=2.5 с 95% ДИ [1.2, 5.3] логарифмы будут:

  • Центр: =LN(2.5) ≈ 0.92
  • Нижняя граница: =LN(1.2) ≈ 0.18
  • Верхняя граница: =LN(5.3) ≈ 1.67

На графике интервал будет симметричным относительно 0.92, но после обратного преобразования (экспоненты) он снова станет асимметричным — это нормально!

Как добавить подгруппы в форест-плот?

Разбейте данные на блоки и добавьте пустые строки между подгруппами. Для визуального разделения:

  1. Используйте Границы ячеек для группировки строк в таблице.
  2. На графике добавьте горизонтальные линии разделителей через Формат области построения → Линии сетки.
  3. Подпишите подгруппы с помощью Надписей (вкладка Вставка).
Можно ли сделать интерактивный форест-плот с фильтрами?

Да, для этого:

  1. Добавьте Срезы (вкладка Вставка → Срез) для фильтрации исследований по годам, авторам или качеству.
  2. Свяжите график с отфильтрованными данными через Динамические диапазоны (функция ДВССЫЛ).
  3. Используйте Элементы управления формой (например, флажки) для показа/скрытия обобщённой оценки.

Пример файла с интерактивностью: скачать.