en
Feedback
MedData Lab

MedData Lab

Open in Telegram

О работе с данными в медицинских и биомедицинских исследованиях. Анализ, интерпретация, ограничения, аналитические решения. R • Python • научная практика Автор канала @phlenyxa Курс по анализу данных в R ↓ meddatalab.ru

Show more
The country is not specifiedThe category is not specified
383
Subscribers
+224 hours
+177 days
+6330 days
Number of Posts

Data loading in progress...

Reactions
Comments
Telegram Stars
TOP posts by

Data loading in progress...

Publication analysis
Posts
Views dynamics
31 августа начинаем третий поток курса по анализу данных в R До старта осталось совсем немного. На курсе мы последовательно проходим весь путь анализа данных: исходная таблица → подготовка данных → описательная статистика → выбор метода → анализ → визуализация в ggplot2 → интерпретация результата. Для меня важно не просто показать отдельные команды R, а научить самостоятельно разбирать свои данные и понимать, что именно происходит на каждом этапе анализа. R — рабочий инструмент, который делает этот процесс воспроизводимым и управляемым. Начинаем с самых основ, поэтому опыт программирования не нужен. До старта стоимость участия остаётся 23 000 ₽. С 31 августа — 27 000 ₽. Присоединиться к потоку можно до второго занятия — 3 сентября. И, как и раньше, оплачивать сразу не нужно: сначала можно посмотреть первую лекцию, пройти практику и прочитать лонгрид, а уже потом решить, подходит ли вам формат. Подробнее о программе и участие — http://meddatalab.ru/
64028Loading...
+3
p = 0,01. Новый протокол работает? Часть 2 — разбираем данные в R В первой части этого кейса Дамир Ильдарович Марапов у себя в канале разобрал методологическую сторону: что такое конфаундинг, почему в нерандомизированном исследовании простого сравнения групп может быть недостаточно и как подходить к выбору потенциальных конфаундеров. А здесь разберём тот же пример уже практически — в R. Напомню исходные данные: 120 пациентов после планового хирургического вмешательства, по 60 человек в каждой группе. Средняя длительность госпитализации: новый протокол — 5,5 дня стандартный — 6,8 дня 1. Исходное сравнение Начнём с обычного сравнения двух независимых групп: t.test(hospital_days ~ protocol, data = dat) Получаем разницу около 1,3 дня, p = 0,008 — при округлении p ≈ 0,01. То есть без учёта других факторов длительность госпитализации в группе нового протокола статистически значимо меньше. Но исследование нерандомизированное, поэтому важно оценить, насколько сопоставимы сами группы. 2. Возраст пациентов Средний возраст: новый протокол — 52,9 года стандартный — 62,4 года Почти 10 лет разницы. Посмотрим, как распределяется возраст внутри каждой группы. Для визуализации используем ggplot2 — пакет R, который позволяет собирать графики из отдельных слоёв. Здесь совместим boxplot с отдельными наблюдениями: так видны и распределение, и данные каждого пациента. ggplot(dat, aes(protocol, age_years)) + geom_boxplot() + geom_jitter(width = 0.1, alpha = 0.5) Различие в возрасте между группами хорошо видно и на графике. Теперь оценим, как связаны возраст и длительность госпитализации: ggplot(dat, aes(age_years, hospital_days, colour = protocol)) + geom_point(alpha = 0.6) + geom_smooth(method = "lm") Каждая точка — один пациент, линии показывают линейную тенденцию внутри групп. В обеих группах с увеличением возраста длительность госпитализации имеет тенденцию увеличиваться. С учётом методологической логики, разобранной в первой части, возраст имеет смысл включить в анализ как потенциальный конфаундер. 3. Учитываем возраст Для этого используем линейную регрессию. Она позволяет оценить связь протокола с длительностью госпитализации, одновременно учитывая возраст пациента. В R линейная модель задаётся функцией lm(). Слева указываем исход — длительность госпитализации, справа — протокол и возраст: model <- lm( hospital_days ~ protocol + age_years, data = dat ) summary(model) confint(model) summary() показывает коэффициенты модели и p-value, а confint() — 95% доверительные интервалы. До учёта возраста различие между протоколами составляло около 1,3 дня. После поправки на возраст оценка уменьшается до 0,82 дня. Для протокола p ≈ 0,14, а 95% доверительный интервал включает 0. То есть после учёта возраста различие между группами становится менее выраженным и статистически менее определённым. Это не означает, что мы доказали отсутствие эффекта. Но и сказать: «новый протокол сокращает госпитализацию на 0,8 дня» по этим данным нельзя. Корректнее сказать так: после поправки на возраст оценка различий между протоколами уменьшилась примерно до 0,8 дня, а 95% доверительный интервал включает 0 — поэтому по этим данным нельзя исключить отсутствие различий между протоколами. Именно для этого здесь и нужна модель: посмотреть, как меняется оценка после учёта важного исходного различия между группами. При этом технически весь анализ в R занимает совсем немного кода: t-test, два графика и линейная модель. Когда статистическая задача сформулирована, реализовать её в R часто можно всего несколькими строками. Для практикума мы подготовили учебный датасет и полный R-скрипт с комментариями, чтобы весь анализ можно было скачать и повторить самостоятельно.
4993011Loading...
Простой пример того, как конфаундеры мешают правильно оценить различия и как мы можем устранить эти помехи с помощью регресси
Простой пример того, как конфаундеры мешают правильно оценить различия и как мы можем устранить эти помехи с помощью регрессии и R Пост подготовлен совместно с медицинским кибернетиком Еленой Филипповой, автором канала MedData Lab. В клинических исследованиях есть понятие конфаундеров - вмешивающихся, или спутывающих, факторов. Это признаки, которые связаны как с изучаемым исходом, так и с воздействием, не являясь при этом промежуточным звеном влияния воздействия на исход. Часто к ним относятся возраст, тяжесть заболевания, наличие сопутствующих заболеваний и т.д. Если в наблюдательном исследовании мы сравниваем группы основного лечения и контроля, и при этом они имеют различия по каким-либо вмешивающимся факторам, это может существенно изменить результаты сравнения. В статистике есть разные способы устранять влияние конфаундеров, чтобы получить корректные результаты анализа. Один из них - рандомизация, то есть случайный отбор исследуемых в сравниваемые группы. Это позволяет снять проблему влияния как известных, так и неизвестных нам конфаундеров. А если рандомизация не проводилась? Например, мы проводим когортное исследование по данным пациентов, наблюдающихся в больнице. То или иное лечение им назначается не случайно, а исходя из показаний. Легко представить, что группы пациентов с разным лечением будут заодно различаться и по другим важным признакам, таким как коморбидность или тяжесть заболевания. И, конечно, это будет влиять на результаты сравнения. Для устранения или минимизации влияния конфаундеров в такой ситуации можно использовать: 🔹анализ подгрупп, 🔹многофакторную регрессию, 🔹псевдорандомизацию методом сопоставления оценок склонности (PSM). Все эти методы с примерами в программе SPSS мы будем подробно изучать во второй теме Курса по сложным методам, который стартует 14 сентября. А в этом посте вместе с медицинским кибернетиком Еленой Филипповой мы проведем статистический разбор подобной ситуации с применением языка R. Итак. В клинике ретроспективно проанализировали результаты планового хирургического вмешательства: 60 пациентов в первой группе получали новый протокол ранней активизации, 60 пациентов во второй группе - стандартное послеоперационное ведение При оценке длительности госпитализации пациентов: средние значения составили, соответственно, 5,5 и 6,8. Разность средних составила -1,29 дня с 95% ДИ: -2,25 до -0,34, p = 0,008. Другими словами, различия групп были статистически значимы. Все бы хорошо, но наше исследование наблюдательное, то есть отбор в группы был неслучайным. Поэтому мы дополнительно провели сравнение групп по потенциальным конфаундерам. И получили, что возраст исследуемых имел заметные различия: в первой группе он составил 52,9 года, а во второй был почти на 10 лет старше - 62,4 года. Очевидно, что меньшие сроки госпитализации в первой группе могли быть обусловлены не только новым протоколом, но и более молодым возрастом пациентов. Поэтому для корректного вывода о связи проводимого лечения с длительностью госпитализации нам нужно устранить влияние конфаундера - возраста. И для этого мы можем воспользоваться методом регрессии. Продолжение следует🔽
67009Loading...