Analizuję dane śledzenia wzroku z zaprojektowanego eksperymentu. Uproszczona wersja moich danych wygląda następująco (możesz pobrać dane dput () tutaj ),
head(lookDATA)
participant fixationImage fixationCount
1 9 Automobile 81
2 9 Bird 63
3 9 Chair 82
4 9 Dog 64
5 9 Face 90
6 9 Plant 75
gdzie uczestnik jest unikalnym identyfikatorem dla każdego przedmiotu, fixationImage to kategoria obrazu, na której naprawiono, a fixationCount to liczba razy, gdy naprawiono na tej kategorii obrazu.
Dopasowuję model Poissona do danych za pomocą glmer () z pakietu lme4 .
model<-glmer(fixationCount ~ fixationImage + (1|participant), family = poisson, data = lookDATA)
Użyłem lsmeans () z pakietu lsmeans do zbadania różnic między poziomami czynników,
cld(lsmeans(model,"fixationImage"))
który zapewnia następujące dane wyjściowe:
fixationImage lsmean SE df asymp.LCL asymp.UCL .group
Chair 3.786022 0.05764923 NA 3.673018 3.899026 1
Bird 3.866201 0.05750641 NA 3.753476 3.978925 2
Dog 3.868768 0.05751010 NA 3.756037 3.981500 2
Body 3.883644 0.06040952 NA 3.765230 4.002059 23
Plant 3.893327 0.05746744 NA 3.780679 4.005975 23
Automobile 3.901939 0.05745528 NA 3.789315 4.014563 23
Face 3.946848 0.05832549 NA 3.832519 4.061178 3
Zgodnie z moim (być może ograniczonym) zrozumieniem używania winiety lsmeans kolumna lsmean powinna reprezentować średnią liczbę spojrzeń dla danej kategorii przewidywaną przez model.
Jednak wartości te wydają się niewygodnie dalekie od prostych statystyk opisowych dla tych liczb,
summaryBy(fixationCount ~ fixationImage, data = lookDATA)
fixationImage fixationCount.mean
1 Automobile 55.18750
2 Bird 53.25000
3 Body 57.12821
4 Chair 50.39450
5 Dog 53.82883
6 Face 56.76389
7 Plant 54.71429
sugerując być może, że nie rozumiem poprawnie, co reprezentują tutaj lsmeans, lub może źle podałem model.
Każda pomoc byłaby bardzo mile widziana.
źródło
$<-.data.frame
(*tmp*
, „sep”, value = „,”): zamiennik ma 1 wiersz, dane mają 0. Dla przypomnienia używam wersji R 3.1.2 (31.10.2014) „Pumpkin Helmet” i wersji lsmeans 2.17. Niemniej jednak odpowiedziałeś na moje pytanie, a ja przetworzę dane wyjściowe ręcznie. Dzięki jeszcze raz!cld
boku. Wyjmij go i sprawdź, czy to działa. I użyjpairs
zamiast cld do przetestowania porównań (w osobnym wywołaniu). To i tak lepsza droga, ponieważ cld podejmuje czarno-białe decyzje.cld
który spowodował błąd. Dziękujemy za zgłoszenie. Wyślij mi e-mail (patrz pole Maintainer), jeśli chcesz, żebym wysłał zaktualizowany pakiet. W przeciwnym razie zostanie zaktualizowany w CRAN za kilka tygodni.