Wielokrotne pomiary w czasie z małym

14

Dostałem dane do analizy w celu zbadania wpływu leczenia na poziomy żelaza w czterech różnych punktach czasowych (przed leczeniem, dzień zakończenia leczenia, 4 tygodnie po leczeniu i 2-4 miesiące po leczeniu). Nie ma grupy kontrolnej. Chcą sprawdzić, czy występuje znaczny wzrost poziomu żelaza w każdym z 3 punktów czasowych po leczeniu do poziomu przed leczeniem (poziom wyjściowy). Jedenaście pacjentów miało poziomy wyjściowe, ale tylko 8 pacjentów miało pełne dane dla wszystkich 4 punktów czasowych ( = 11, 10, 9 i 8 dla każdego punktu czasowego). Mierzono nie tylko poziomy żelaza, ale w każdym punkcie czasowym wykonywano dwa inne pomiary laboratoryjne w celu porównania z poziomem wyjściowym.n

Mam kilka pytań, jak to przeanalizować. Najpierw pomyślałem, że RM ANOVA będzie odpowiednia do analizy tych danych, ale martwiłem się o małą wielkość próby, utratę danych i nienormalny rozkład danych. Następnie rozważyłem porównanie każdej miary po leczeniu z wartością wyjściową za pomocą testów rangowanych znaków Wilcoxona, ale potem wpadłem na problem wielu porównań. Przeczytałem jednak literaturę, że lekceważenie wymaga przeprowadzenia wielu porównań. Ogólnie rzecz biorąc, mam do czynienia z małymi rozmiarami próbek, niekompletnymi danymi i wieloma porównaniami (i czy jest to konieczne).

Mam nadzieję, że to wszystko miało sens. Jestem nowy w CrossValidated i zostałem tu skierowany przez kolegę jako miejsce do nauki od doświadczonych statystów, więc byłbym wdzięczny za wszelkie porady! Dzięki!


Edytowane w celu dodania surowych danych z komentarza:

Istnieją cztery całkowite punkty czasowe, a zmienna wynikowa jest ciągła. Na przykład wyniki w każdym punkcie czasowym wyglądają podobnie do tego:

 Baseline (n=11): [2, 7, 7, 3, 6, 3, 2, 4, 4, 3, 14] 
 1st Post (n=10): [167, 200, 45, 132, ., 245, 199, 177, 134, 298, 111]
 2nd Post (n=9):  [75, 43, 23, 98, 87, ., 300, ., 118, 202, 156]
 3rd Post (n=8):  [23, 34, 98, 112, ., 200, ., 156, 54, 18, .]
msturm17
źródło
1
Jeśli dodasz powtarzalny przykład (lub surowe dane), byłoby to pomocne.
Ladislav Naďo
Zmienna wyniku jest ciągła. Na przykład wyniki w każdym punkcie czasowym wyglądają podobnie do tego: Poziomy podstawowe n = 11: [2, 7, 7, 3, 6, 3, 2, 4, 4, 3, 14]. 1st Post n = 10 [167, 200, 45, 132,., 245, 199, 177, 134, 298, 111]. 2nd Post n = 9 [75, 43, 23, 98, 87,., 300,., 118, 202, 156]. Poziom 3 postu n = 8 [23, 34, 98, 112,., 200,., 156, 54, 18,.]. Istnieją cztery całkowite punkty czasowe.
msturm17,

Odpowiedzi:

5

Ponownie przemyślałem twój problem i znalazłem test Friedmana, który jest nieparametryczną wersją jednokierunkowej ANOVA z powtarzanymi pomiarami .

Mam nadzieję, że masz kilka podstawowych umiejętności R.

# Creating a source data.frame
my.data<-data.frame(value=c(2,7,7,3,6,3,2,4,4,3,14,167,200,45,132,NA,
245,199,177,134,298,111,75,43,23,98,87,NA,300,NA,118,202,156,23,34,98,
112,NA,200,NA,156,54,18,NA),
post.no=rep(c("baseline","post1","post2","post3"), each=11),
ID=rep(c(1:11), times=4))

# you must install this library
library(pgirmess)

Wykonaj test Test Friedmana ...

friedman.test(my.data$value,my.data$post.no,my.data$ID)

    Friedman rank sum test

data:  my.data$value, my.data$post.no and my.data$ID
Friedman chi-squared = 14.6, df = 3, p-value = 0.002192

a następnie znajdź między grupami różnicę w nieparametrycznym teście post-hoc . Tutaj masz wszystkie możliwe porównania.

friedmanmc(my.data$value,my.data$post.no,my.data$ID)
Multiple comparisons between groups after Friedman test 
p.value: 0.05 
Comparisons
               obs.dif critical.dif difference
baseline-post1      25     15.97544       TRUE
baseline-post2      21     15.97544       TRUE
baseline-post3      20     15.97544       TRUE
post1-post2          4     15.97544      FALSE
post1-post3          5     15.97544      FALSE
post2-post3          1     15.97544      FALSE

Jak widać, tylko linia bazowa (pierwszy punkt czasowy) różni się statystycznie od innych.

Mam nadzieję, że to Ci pomoże.

Ladislav Naďo
źródło
1
Ladislav, to doskonała odpowiedź na to pytanie. Jest niezwykle dokładny i kompletny. Jedyne, co widzę, to to, że ANOVA Kruskala-Wallisa również zakłada niezależność obserwacji, tak że na każdym poziomie zmiennej niezależnej istnieją różne podmioty, których w tym przypadku nie mamy, ponieważ śledzimy to samo 11 pacjentów w 4 punktach czasowych. Czy masz jakieś zdanie na ten temat lub masz inne metody rozwiązania tego problemu? Dzięki wielkie!
Matt Reichenbach,
Usunąłem swój komentarz powyżej. W końcu znalazłem lepszy test. Cieszyć się !
Ladislav Naďo
To nie jest moje pierwotne pytanie, @ msturm17, będę musiał zaakceptować twoją odpowiedź, ale dałem ci nagrodę!
Matt Reichenbach,
Dziękuję, Ladislav, za poświęcenie czasu na dokładne udzielenie odpowiedzi na moje pytanie!
msturm17,
2

Jeśli nie znasz rozkładu poszczególnych zmian w czasie, nie możesz go zbliżyć do rozkładu różnic między pacjentami. Na przykład, jeśli masz 10 pacjentów z odpowiednimi poziomami żelaza (510,520, ..., 600) przed leczeniem i (520,530, ..., 610) po leczeniu, ANOVA Kruskala-Wallisa (lub inny podobny algorytm) będzie twierdził że nie ma znaczącej zmiany poziomu żelaza.

IMHO, bez grupy kontrolnej, najlepiej jest policzyć, ilu pacjentów zwiększyło poziom żelaza, a ilu go zmniejszyło, i przetestować jego znaczenie.

To powiedziawszy, jeśli KW ANOVA mówi ci, że istnieje znaczny poziom żelaza, jest to (brak fałszywych trafień).

użytkownik31264
źródło
1
Tak, bez fałszywych trafień! Haha, dziękuję za odpowiedź. Jak sugerujesz, abyśmy „przetestowali znaczenie tego” w odniesieniu do liczenia, ilu pacjentów zwiększyło swój poziom żelaza, a ilu go zmniejszyło? Dzięki!
Matt Reichenbach,
2
mnp=2)-(m+n)k=0m(m+nk)
Dziękuję Ci! To był kolejny interesujący sposób, aby spojrzeć na moje pytanie i zobaczyć, jak odnosi się do moich danych.
msturm17,