Estou tentando estimar o efeito de 2 medicamentos ( drug1
, drug2
) na probabilidade de um paciente cair ( event
). Os pacientes podem cair mais de uma vez e podem ser colocados ou retirados dos medicamentos a qualquer momento.
Minha pergunta é como os dados devem ser estruturados com relação ao período (dias), especificamente se é necessário haver sobreposição entre os dias. Há duas razões pelas quais acho que minha estrutura está errada, sendo a primeira aparentemente incorreta N
. Também estou recebendo alguns erros, onde o período de tempo é um único dia (ou seja time1=4
, time2=4
) e estou certeza de como estes devem ser codificada. A hora de início das entradas subseqüentes deve ser a hora de parada da entrada anterior? Eu tentei nos dois sentidos (com e sem sobreposição) e, embora a sobreposição se livre do aviso, o N
erro ainda está incorreto.
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
No momento, tenho os dados configurados onde o início da próxima entrada é no dia seguinte. Pacientes únicos são identificados por seus 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
O paciente 123 estava em uso de medicamento1 no início do dia 2, após o qual eles receberam o medicamento2. Eles passaram do dia 3 para o dia 10 com os dois medicamentos antes de cair pela primeira vez e depois caíram pela segunda vez no dia 14 enquanto ainda estavam com os dois medicamentos. O paciente 345 passou 11 dias em uso de drogas2 sem cair (depois foi censurado) etc.
A estimativa real é assim:
S <- Srv(time=time1, time2=time2, event=event)
cox.rms <- cph(S ~ Drug1 + Drug2 + cluster(ChartNo), surv=T)
Minha principal preocupação é que, n
para a minha análise, seja relatado 2017
(o número de linhas nos dados), quando, na realidade, só tenho 314
pacientes únicos. Não tenho certeza se isso é normal ou o resultado de algum erro que cometi ao longo do caminho.
> cox.rms$n
Status
No Event Event
1884 133
O mesmo acontece ao usar a coxph()
partir do pacote de sobrevivência.
n= 2017, number of events= 133
O número de eventos está correto no entanto.
Este Post parece configurá-lo com a 'sobreposição' que descrevi, mas não tenho certeza sobre o N
e eles não parecem estar agrupados ID
.
+cluster(ChartNo)
termo deve cuidar das observações repetidas. Uma abordagem alternativa seria adicionar+ (1|subject)
a uma análise coxme :: coxme.Respostas:
Sua formatação de dados está correta.
Você tem vários registros por paciente devido a eventos recorrentes e a complexidade adicional do medicamento, sendo uma covariável variável no tempo. A saída impressa
head
é útil para entender esses dados.A abordagem típica para analisar eventos recorrentes, bem como covariáveis com variação de tempo, está formatando os dados para estarem em um formato "longo", em que cada linha representa um intervalo de observações de covariáveis de risco. Por exemplo, vemos que o paciente 123 está tomando o medicamento1 sozinho do tempo 0 ao tempo 2 e, em seguida, muda para tomar o medicamento 1 e o medicamento 2 do tempo 3. Nesse ponto, eles não haviam sofrido uma queda; portanto, sua observação do 0-2 é censurado naquele momento porque não sabemos quanto tempo sua queda chegaria se eles continuassem a tomar a droga 1 sozinha. No momento 3, eles são reinseridos na coorte codificada como um paciente que toma os dois medicamentos por 7 unidades de tempo, após o que experimenta sua primeira queda. Eles experimentam uma segunda queda na mesma combinação de medicamentos apenas quatro unidades de tempo depois.
O número de registros não é um resumo útil dos dados da coorte. Não é de surpreender que o número de linhas seja muito maior que o número de pacientes. Em vez disso, some os horários do início ao fim e registre-o como uma quantidade de tempo de pessoa em risco. O denominador da coorte é útil para entender a incidência. Também é útil resumir o número bruto de pacientes, mas lembre-se de que os dados estão no formato "longo", de modo que seja menor que o número de linhas no seu conjunto de dados.
Para o erro, acho que você pode precisar adicionar 1 unidade à data de "parada". Se o paciente 123 toma o medicamento 1 nos dias 0, 1 e 2 e, em seguida, inicia o medicamento 2 no dia 3, eles tiveram 3 dias de risco de quedas no medicamento 1. No entanto, 2-0 = 2 e esse não é o correto denominador.
O que o argumento "cluster" faz (normalmente) é impor uma fragilidade, que é um tipo de interceptação aleatória que explica o que pode ser uma diferença proporcional de risco atribuível a vários fatores de risco não medidos. Não costumo conduzir análises com fragilidades. Você pode omitir o comando "cluster" e interpretar os resultados como taxas de incidência. Você pode ajustar alternadamente o modelo cox pelo tempo até a primeira queda em todos os pacientes e interpretar as taxas de risco como taxas de risco. Acho que o resultado da fragilidade deve ficar em algum lugar entre esses dois, e nunca estive bem claro qual deveria ser a interpretação.
fonte