Próbuję oszacować wpływ 2 leków ( drug1
, drug2
) na prawdopodobieństwo upadku pacjenta ( event
). Pacjenci mogą upaść więcej niż jeden raz i mogą być przyjmowani lub zdejmowani z leków w dowolnym momencie.
Moje pytanie dotyczy tego, w jaki sposób dane powinny być uporządkowane w odniesieniu do okresu (dni), a konkretnie, czy należy nakładać się między dniami. Są dwa powody, dla których uważam, że moja struktura jest niewłaściwa, z których pierwszy jest pozornie niepoprawny N
. Ja również się pewne błędy w którym okres czasu wynosi jeden dzień (to znaczy time1=4
, time2=4
) i jestem pewien, w jaki sposób powinny być kodowane. Czy czas rozpoczęcia kolejnych wpisów powinien być czasem zakończenia poprzedniego wpisu? Wypróbowałem to na dwa sposoby (z nakładaniem się i bez nakładania się), a mimo że nakładanie się usuwa ostrzeżenie, N
nadal jest niepoprawne.
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
W tej chwili mam skonfigurowane dane, w których początek następnego wpisu jest następnego dnia. Unikalni pacjenci są identyfikowani przez ich 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
Pacjent 123 przyjmował lek1 na początku drugiego dnia, po którym to czasie dodano lek2. Przeszli od dnia 3 do dnia 10 na obu lekach przed upadkiem za pierwszym razem, a następnie spadli drugi raz w dniu 14, gdy wciąż byli na obu lekach. Pacjent 345 poszedł 11 dni na lek2 bez upadku (wtedy został ocenzurowany) itp.
Rzeczywiste oszacowanie wygląda następująco:
S <- Srv(time=time1, time2=time2, event=event)
cox.rms <- cph(S ~ Drug1 + Drug2 + cluster(ChartNo), surv=T)
Moją główną obawą jest to, że n
dla mojej analizy podano 2017
(liczbę wierszy w danych), kiedy w rzeczywistości mam tylko 314
unikalnych pacjentów. Nie jestem pewien, czy jest to normalne, czy też jest wynikiem jakiegoś błędu, który popełniłem po drodze.
> cox.rms$n
Status
No Event Event
1884 133
To samo dotyczy korzystania coxph()
z pakietu przetrwania.
n= 2017, number of events= 133
Liczba zdarzeń jest jednak poprawna.
Wydaje się, że ten post ma skonfigurowane „nakładanie się”, które opisałem, ale nie jestem pewien co do tego N
i nie wydają się być grupowane ID
.
+cluster(ChartNo)
Termin powinien dbać o wielokrotne obserwacje niepokoju. Alternatywnym podejściem byłoby dodanie+ (1|subject)
do analizy coxme :: coxme.Odpowiedzi:
Twoje formatowanie danych jest prawidłowe.
Masz wiele rekordów na pacjenta z powodu powtarzających się zdarzeń, a dodatkowa złożoność leku jest zmienną zależną od czasu. Dane wyjściowe, które wydrukowałeś,
head
są pomocne w zrozumieniu tych danych.Typowym podejściem do analizy zdarzeń powtarzających się, a także zmiennych towarzyszących zmieniających się w czasie, jest formatowanie danych w formacie „długim”, w którym każdy wiersz reprezentuje przedział obserwacji zmiennych towarzyszących ryzyku. Na przykład widzimy, że pacjent 123 przyjmuje sam lek 1 od 0 do 2 czasu, a następnie zmienia się, aby przyjmować zarówno lek 1, jak i lek 2 od 3. W tym momencie nie doświadczył upadku, więc ich obserwacja od 0-2 jest ocenzurowany w tym momencie, ponieważ nie wiemy, jak długo potrwa ich upadek, jeśli nadal będą przyjmować lek 1 sam. W czasie 3 są ponownie wprowadzani do kohorty zakodowanej jako pacjent przyjmujący oba leki przez 7 jednostek czasowych, po których następuje ich pierwszy upadek. Doświadczają drugiego spadku tej samej kombinacji leków dopiero po 4 jednostkach czasu.
Liczba rekordów nie jest przydatnym podsumowaniem danych z kohorty. Nic dziwnego, że liczba rzędów jest znacznie większa niż liczba pacjentów. Zamiast tego zsumuj czasy od początku do końca i zanotuj je jako ilość osób narażonych na ryzyko. Mianownik kohortowy jest przydatny do zrozumienia występowania. Przydatne jest także podsumowanie liczby pacjentów, ale należy pamiętać, że dane są w „długim” formacie, więc jest mniejsza niż liczba wierszy w zbiorze danych.
W przypadku błędu uważam, że może być konieczne dodanie 1 jednostki do daty „zatrzymania”. Jeśli pacjent 123 przyjmuje lek 1 przez dni 0, 1 i 2, a następnie rozpoczyna lek 2 w dniu 3, wówczas doświadczył 3-dniowego ryzyka upadku na lek 1. Jednak 2-0 = 2 i to nie jest poprawne mianownik.
To, co robi argument „klastrowy” (zazwyczaj), narzuca kruchość, która jest rodzajem przypadkowego przechwytywania, które uwzględnia proporcjonalne różnice ryzyka związane z kilkoma nie mierzonymi czynnikami ryzyka. Nie często przeprowadzam analizy z ułomnościami. Możesz pominąć polecenie „klaster” i interpretować wyniki jako współczynniki zapadalności. Możesz na przemian dopasować model Coxa do czasu pierwszego upadku u wszystkich pacjentów i zinterpretować współczynniki ryzyka jako współczynniki ryzyka. Myślę, że kruchy wynik powinien wypaść gdzieś pomiędzy tymi dwoma, i nigdy nie byłem całkiem pewien, jaka powinna być interpretacja.
źródło