Poniższe pytanie jest dla mnie jednym z tych świętych Graali. Mam nadzieję, że ktoś może udzielić dobrej porady.
Chciałbym wykonać nieparametryczne powtarzane pomiary wielokierunkowe anova przy użyciu R.
Od pewnego czasu szukam i czytam online i do tej pory udało mi się znaleźć rozwiązania tylko w niektórych przypadkach: test Friedmana dla jednokierunkowej nieparametrycznej powtarzanej miary anova, regresja porządkowa z funkcją {car} Anova dla wieloparametrowej nieparametrycznej anova i tak dalej. Częściowe rozwiązania NIE są tym, czego szukam w tym wątku pytania. Podsumowałem swoje dotychczasowe odkrycia w poście, który opublikowałem jakiś czas temu (zatytułowanym: Powtarzane miary ANOVA z R (funkcje i samouczki) , na wypadek gdyby komukolwiek to pomogło)
Jeśli to, co czytam online, jest prawdą, to zadanie można wykonać przy użyciu mieszanego modelu regresji porządkowej (aka: Proporcjonalny model szans).
Znalazłem dwa pakiety, które wydają się odpowiednie, ale nie mogłem znaleźć winiety na ten temat:
Będąc nowym tematem, liczyłem na wskazówki od ludzi tutaj.
Czy są jakieś samouczki / sugerowane lektury na ten temat? Jeszcze lepiej, czy ktoś może zasugerować prosty przykładowy kod, jak uruchomić i przeanalizować to w R (np .: „nieparametryczne powtarzane pomiary wielostopniowe anova”)?
źródło
Odpowiedzi:
Ez pakiet, którego jestem autorem, ma funkcję o nazwie ezPerm (), która oblicza test permutacji, ale prawdopodobnie nie zrobić interakcje prawidłowo (z Przyznaje dokumentacja tyle). Najnowsza wersja ma funkcję o nazwie ezBoot (), która pozwala wykonać ponowne próbkowanie bootstrap, które uwzględnia powtarzane miary (poprzez ponowne próbkowanie podmiotów, a następnie w obrębie podmiotów), albo za pomocą tradycyjnych metod komórek jako statystyki prognozowania lub za pomocą modelowania efektów mieszanych do prognozowania dla każdej komórki w projekcie. Nadal nie jestem pewien, jak „nieparametryczne” parametry CI ładowania początkowego z prognoz modelu mieszanych efektów; mam intuicję, że można je zasadnie uznać za nieparametryczne, ale moje zaufanie do tego obszaru jest niskie, biorąc pod uwagę, że wciąż uczę się o modelach efektów mieszanych.
źródło
aovp
Alternatywa - od osieroconejlmperm
pakietu - produkuje ogromne różnice dla wartości p, zobacz to . Mam kilka pytań: Gdzie mogę znaleźć odniesienia bibliograficzne do wdrożeniaezPerm
? Jak mogę zinterpretować, że funkcja prawdopodobnie nie wykonuje poprawnie interakcji ? Co może być testem post hoc w tym przypadku? Dzięki!ezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)
ma sens, aby dokładnie sprawdzić, czy interakcja jest znacząca?W razie wątpliwości bootstrap! Naprawdę nie znam procedury standardowej do obsługi takiego scenariusza.
Bootstrapping to ogólnie stosowany sposób generowania niektórych parametrów błędów z dostępnych danych. Zamiast opierać się na typowych założeniach parametrycznych, procedury ładowania początkowego wykorzystują właściwości próbki, aby wygenerować rozkład empiryczny, z którym można porównać szacunki próbki.
Google Scholar jest złotem ... zrobiono to wcześniej ... przynajmniej raz.
Lunneborg, Clifford E .; Tousignant, James P .; 1985 „Bootstrap Efrona z zastosowaniem do projektowania powtarzanych pomiarów”. Wielowymiarowe badania behawioralne; 85 kwietnia, t. 20 Wydanie 2, s. 161, 18 str
źródło
Na niektórych forach i listach dyskusyjnych wspomniano o „sztuczce” - znalazłem ją także w książce Joopa Hoxa „Analiza wielopoziomowa” (drugie wydanie, 2010), s. 189.
Chodzi o to: sformatujesz swoje długie dane w długi, długi zestaw danych, w którym utworzysz nowy DV, który zawiera wszystkie twoje odpowiedzi DV, i użyjesz zmiennej indeksu, która przechowuje informacje o naturze DV, aby przewidzieć ten wynik.
Załóżmy, że masz 9 objawów depresji (porządkowych), 2 punkty pomiarowe i 300 pacjentów. Więc jeśli masz 300 wierszy w swoim normalnym zestawie danych, a w długim zestawie danych będziesz mieć 600 wierszy, ten nowy zestaw danych będzie miał 9 (objawy) x 2 (czas) x 300 (podmioty) wierszy.
Nowa zmienna DV „objawy” zawiera teraz nasilenie objawów u uczestników na 9 objawach, zmienne „indeks” zawiera informacje o naturze objawu (od 1 do 9), a następnie są dwie zmienne „czas” i „ Identyfikator użytkownika".
Możesz teraz użyć tego
ordinal
pakietu do uruchomienia tego.W moim konkretnym przypadku byłem zainteresowany, czy istnieje znacząca interakcja między indeksem a czasem, więc uruchomiłem jeden dodatkowy model i porównałem je:
CLMM2 używa modelu przechwytywania losowego (według mojej najlepszej wiedzy, pakiet
ordinal
nie wykonuje losowych nachyleń), jeśli nie używasz modelu przechwytywania losowego, możesz uruchomić modele zamiast tego przy użyciu CLM, np .:źródło
clmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)
. Czy wiesz przypadkiem, jak to wyrazić dzięki nowej funkcji clmm? Nie jestem pewien co do zapisu.