ch
Feedback
MedData Lab

MedData Lab

前往频道在 Telegram

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

显示更多
未指定国家未指定类别
383
订阅者
+224 小时
+177
+6330
帖子数量

数据加载中...

反应
评论
Telegram 星星
按以下排序的热门帖子

数据加载中...

发布分析
帖子
浏览量动态
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...