z danych w następującej formieJak dopasować model efektów losowych z Tematem jako losowym w R?
myDat = structure(list(Score = c(1.84, 2.24, 3.8, 2.3, 3.8, 4.55, 1.13,
2.49, 3.74, 2.84, 3.3, 4.82, 1.74, 2.89, 3.39, 2.08, 3.99, 4.07,
1.93, 2.39, 3.63, 2.55, 3.09, 4.76), Subject = c(1L, 1L, 1L,
2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 7L,
7L, 7L, 8L, 8L, 8L), Condition = c(0L, 0L, 0L, 1L, 1L, 1L, 0L,
0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L,
1L), Time = c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L,
1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L)), .Names = c("Score",
"Subject", "Condition", "Time"), class = "data.frame", row.names = c(NA,
-24L))
chciałbym modelować wynik w zależności od tematu, stan i czas. Ocenę każdego (ludzkiego) podmiotu mierzono trzykrotnie, co wskazuje zmienna Czas, więc powtarzam mi środki.
Jak mogę zbudować w R model losowy z efektami Temat dopasowany jako losowy?
ADDENDUM: Zapytano mnie, w jaki sposób wygenerowałem te dane. Zgadłeś, dane są fałszywe, ponieważ dzień jest długi. Wynik to czas plus losowy szum, a będąc w Warunku 1 dodaje punkt do wyniku. To pouczające, jak typowa konfiguracja Psych. Masz zadanie, w którym wynik jest lepszy dzięki praktyce (czas) i lekowi (warunek == 1), który poprawia wynik.
Oto kilka bardziej realistycznych danych do celów tej dyskusji. Teraz symulowani uczestnicy mają losowy poziom "umiejętności", który jest dodawany do ich wyników. Również czynniki są teraz łańcuchami.
myDat = structure(list(Score = c(1.62, 2.18, 2.3, 3.46, 3.85, 4.7, 1.41,
2.21, 3.32, 2.73, 3.34, 3.27, 2.14, 2.73, 2.74, 3.39, 3.59, 4.01,
1.81, 1.83, 3.22, 3.64, 3.51, 4.26), Subject = structure(c(1L,
1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L,
6L, 7L, 7L, 7L, 8L, 8L, 8L), .Label = c("A", "B", "C", "D", "E",
"F", "G", "H"), class = "factor"), Condition = structure(c(1L,
1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L,
2L, 1L, 1L, 1L, 2L, 2L, 2L), .Label = c("No", "Yes"), class = "factor"),
Time = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L,
2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L), .Label = c("1PM",
"2PM", "3PM"), class = "factor")), .Names = c("Score", "Subject",
"Condition", "Time"), class = "data.frame", row.names = c(NA,
-24L))
Zobacz:
library(ggplot2)
qplot(Time, Score, data = myDat, geom = "line", group = Subject, colour = factor(Condition))
można bardziej zwięzłego konstruować ramkę danych za pomocą funkcji: 'data.frame' myDat <- data.frame (wynik = C (1,84, 2,24, 3,8, 2,3, 3,8, 4,55, 1,13, 2,49, 3,74 2,84, 3,3, 4,82, 1,74, 2,89, 3,39, 2,08, 3,99, 4,07, 1,93, 2,39, 3,63, 2,55, 3,09, 4,76), przedmiot = c (1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L), Warunek = c (0L, 0L, 0L, 1L, 1L, 1L , 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L, 1L), Czas = c (1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L)) –
@Chang. Składnia struktury jest tym, co otrzymujesz, gdy używasz 'dput' w data.frame. –
@Loni. Naucz się czegoś nowego każdego dnia! –