Я пытаюсь оценить влияние 2 препаратов ( drug1
, drug2
) на вероятность падения пациента ( event
). Пациенты могут падать более одного раза и могут быть введены или сняты с лекарств в любой момент.
Мой вопрос заключается в том, как данные должны быть структурированы с учетом периода времени (дней), в частности, должно ли быть перекрытие между днями. Есть две причины, по которым я считаю, что моя структура неверна, первая из которых, на первый взгляд, неверна N
. Я также получаю некоторые ошибки , когда период времени один день (то есть time1=4
, time2=4
) , и я не уверен , как они должны быть закодированы. Должно ли время начала последующих записей быть временем окончания предыдущей записи? Я пробовал оба способа (с перекрытием и без него), и хотя перекрытие избавляет от предупреждения, N
оно все равно неверно.
Warning message:
In Surv(time = c(0, 2, 7, 15, 20, 0, 18, 27, 32, 35, 39, 46, 53, :
Stop time must be > start time, NA created
Прямо сейчас у меня есть данные, где начало следующей записи - следующий день. Уникальные пациенты идентифицируются по их chart numbers
.
Time1 Time2 Drug1 Drug2 Event ChartNo
0 2 1 0 0 123
3 10 1 1 1 123
11 14 1 1 1 123
0 11 0 1 0 345
0 19 1 0 1 678
0 4 0 1 0 900
5 18 1 1 0 900
Пациент 123 принимал препарат 1 в начале второго дня, после чего ему добавляли препарат 2. Они переходили с 3-го на 10-й день на оба препарата, прежде чем упали в первый раз, а затем упали во второй раз на 14-й день, оставаясь на обоих препаратах. Пациент 345 прошел 11 дней на препарате2 без падений (затем был подвергнут цензуре) и т. Д.
Фактическая оценка выглядит так:
S <- Srv(time=time1, time2=time2, event=event)
cox.rms <- cph(S ~ Drug1 + Drug2 + cluster(ChartNo), surv=T)
Моя главная проблема заключается в том, что n
для моего анализа сообщается 2017
(количество строк в данных), когда на самом деле у меня есть только 314
уникальные пациенты. Я не уверен, что это нормально или результат какой-то ошибки, которую я сделал по пути.
> cox.rms$n
Status
No Event Event
1884 133
То же самое верно при использовании coxph()
из пакета выживания.
n= 2017, number of events= 133
Количество событий является правильным, однако.
Кажется, в этом посте он настроен с «перекрытием», которое я описал, но я не уверен насчет этого N
, и они, похоже, не объединяются ID
.
+cluster(ChartNo)
Срок должен заботиться о повторных наблюдениях озабоченности. Альтернативный подход заключается в добавлении+ (1|subject)
к анализу coxme :: coxme.Ответы:
Ваше форматирование данных правильное.
У вас есть несколько записей на пациента из-за повторяющихся событий и дополнительной сложности лекарственного средства, которое зависит от времени. Вывод, который вы напечатали с помощью
head
, полезен для понимания этих данных.Типичный подход к анализу повторяющихся событий, а также изменяющихся во времени ковариат, заключается в форматировании данных в «длинном» формате, где каждая строка представляет интервал наблюдений риска. Например, мы видим, что пациент 123 принимает только препарат 1 с 0 по 2, затем меняет прием препарата 1 и 2 с 3 раза. В тот момент у них не было падения, поэтому их наблюдение с 0 до 2 в этот момент подвергается цензуре, потому что мы не знаем, сколько еще произойдет их падение, если они продолжат принимать препарат 1 в одиночку. Во время 3 они повторно вводятся в когорту, закодированную как пациент, принимающий оба лекарства в течение 7 единиц времени, после чего они испытывают свое первое падение. Они испытывают второе падение на той же комбинации наркотиков только через 4 единицы времени после.
Количество записей не является полезной сводкой когортных данных. Не удивительно, что количество рядов намного больше, чем количество пациентов. Вместо этого суммируйте время от начала до остановки и запишите его как количество человеко-времени, подверженного риску. Когорт-знаменатель полезен для понимания заболеваемости. Полезно также суммировать необработанное количество пациентов, но имейте в виду, что данные представлены в «длинном» формате, так что они меньше, чем количество строк в вашем наборе данных.
Для ошибки, я думаю, вам может понадобиться добавить 1 единицу к дате «остановки». Если пациент 123 принимает препарат 1 в течение дней 0, 1 и 2, а затем начинает прием препарата 2 в день 3, то он подвергается риску падения в течение 3 дней для препарата 1. Однако 2-0 = 2, и это не правильно знаменатель.
То, что делает «кластерный» аргумент (как правило), навязывает слабость, которая является типом случайного перехвата, который объясняет то, что может быть пропорциональной разницей риска, связанной с несколькими неизмеренными факторами риска. Я не часто провожу анализы со слабостями. Вы можете опустить команду «cluster» и интерпретировать результаты как коэффициенты заболеваемости. Вы можете поочередно подобрать модель Кокса на время до первого падения у всех пациентов и интерпретировать коэффициенты риска как коэффициенты риска. Я думаю, что слабый результат должен упасть где-то между этими двумя, и я никогда не совсем ясно представлял, какова должна быть интерпретация.
источник