Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Анализ выживаемости в R
Форум врачей-аспирантов > Разделы форума > Медицинская статистика
kont
Подскажите, пожалуйста, как в R мне разделить график Каплана -Мейерса по группам, чтобы каждая группа имела свой цвет.
Например
# Kaplan-Meier non-parametric analysis by group
kmsurvival1 <- survfit(Surv(kaplan17$time, kaplan17$event) ~ kaplan17$group)
plot(kmsurvival1, xlab="Time", ylab="Survival Probability")

График выглядит не информативно.
http://funkyimg.com/view/2gk7a
Как сделать, чтобы первая группа имела зеленый цвет, а вторая красный.
p2004r
Цитата(kont @ 5.09.2016 - 16:24) *
Подскажите, пожалуйста, как в R мне разделить график Каплана -Мейерса по группам, чтобы каждая группа имела свой цвет.
Например
# Kaplan-Meier non-parametric analysis by group
kmsurvival1 <- survfit(Surv(kaplan17$time, kaplan17$event) ~ kaplan17$group)
plot(kmsurvival1, xlab="Time", ylab="Survival Probability")

График выглядит не информативно.
http://funkyimg.com/view/2gk7a
Как сделать, чтобы первая группа имела зеленый цвет, а вторая красный.


Может применить "продвинутые технологии"? http://www.sthda.com/english/rpkgs/survminer/
kont
Благодарю. Прекрасное решение.
kont
А вот ещё можете подсказать продвинутый способ разделять на подгруппы?
можно ли при указании пути к файлу, например так:
kaplan17 <- read.csv(kaplan1, sep=";", dec=",")
указать здесь нечто вроде "work with data, where "group"=0
ogurtsov
Цитата(kont @ 5.09.2016 - 19:07) *
А вот ещё можете подсказать продвинутый способ разделять на подгруппы?
можно ли при указании пути к файлу, например так:
kaplan17 <- read.csv(kaplan1, sep=";", dec=",")
указать здесь нечто вроде "work with data, where "group"=0


dplyr в помощь https://cran.rstudio.com/web/packages/dplyr...troduction.html
Хотя тут достаточно и базовых средств: kaplan17[kaplan17$group == 0, ]

А вот совсем простая вещь для визуализации при анализе выживаемости: https://ggobi.github.io/ggally/ggsurv.html
kont
Спасибо за материалы:)
kont
Коллеги разбираясь с продвинутыми кривыми, у меня возник вопрос, мне самому сложно понять на него ответ. Итак кривая
http://funkyimg.com/view/2gqwY
1.Что означает p-value на кривой, потому что согласно регрессии Кокса там другой p-value
2. как понять число рисков по времени. На всякий случай, пришлю пример
DrgLena
Две кривые К-М, которые вам удалось раскрасить, различаются не только цветом, но и функцией выживания, уровень значимости различий и выведен на рисунке. Критериев для сравнения двух кривых очень много, какой вы использовали или программа вам навязала, я не знаю, но к регрессии Кокса это не имеет отношения. Рисунок вставлен небрежно, нет всех интервалов и числа больных подверженных риску в этих интервалах. По регрессии, в прикрепленном файле, в качестве предиктора одна или две переменных (рор?) и модель строили для двух групп?
kont
DrgLena, на переменную pop не обращайте внимание, считайте её нет. Там ключевые переменные 3
1-time(в днях)
2-event
3. group
Суть такая, что смотрим на котором из днях количество симптомов свелось к нулю.
Рисунок скопирован из программы. Предиктор group
Меня даже больше всего волнует number at risk by time
что это за числа
DrgLena
К-М строится по неполным данным, если у вас есть для каждого временного интервала полные данные, жив - умер, то вам не нужны К-М. Для неполных данных вводятся некоторые понятия для каждого интервала есть понятия введенных в интервал и подверженных риску. число подверженых риску=число введенных в интервал минус половина не умерших. С сензурированными данными знакомы? Постройте таблицы выживаемости и укажите 8 интервалов и получите эти цифры. В R я это не делала. Кокс регрессия с предиктором группа странно выглядит, там есть инфекция, вроде, в данных.
kont
DrgLena , спасибо, разобрался.smile.gif
kont
Добрый день. Ещё вопрос можно задать, но он больше по R.
Как в R используя метод Каплана-Мейера сделать на кривой пометки с процентами. Т.е.
опять есть 3 столбца
perc (процент заживления раны)
time-дата
event-0 нет события, 1 есть
на выходе такой рисунок

код
fit <- survfit(Surv(time, event)~1, data = epit1)
ggsurvplot(fit)
Как сделать так, чтобы в этом простом коде (ничего мудреного как выше не нужно ибо тут одна группа) отображались проценты на кривой
kont
ещё вопрос в догонку, как мне изменить временную ось, чтоб шла на по 10 интервалов а по 5 или 3.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.