Ich verwende lmer in R, um die Auswirkung von condition ( cond) auf ein Ergebnis zu überprüfen . Hier sind einige aus Daten, wobei s der Objektidentifizierer und a, bund csind Bedingungen.
library("tidyr")
library("dplyr")
set.seed(123)
temp <- data.frame(s = paste0("S", 1:30),
a = rnorm(30, -2, 1),
b = rnorm(30, -3, 1),
c = rnorm(30, -4, 1))
Ich würde gerne vergleichen
- Ebene
azum Mittelwert der Ebenenbundcund - Level
bzu Levelc.
Meine Frage ist, wie ich die Kontraste so einstelle, dass der Achsenabschnitt den Mittelwert der drei Bedingungen widerspiegelt und die beiden berechneten Schätzungen die Unterschiede gemäß 1. und 2. direkt widerspiegeln.
Ich habe es mit versucht
c1 <- cbind(c(-0.5, 0.25, 0.25), c(0, -0.5, 0.5))
gather(temp, cond, result, a, b, c) %>%
lmer(result ~ cond + (1|s), data = ., contrasts = list(cond = c1))
wo cond2scheint in Ordnung zu sein, ist es aber cond1nicht.
Folgen Wie werden diese benutzerdefinierten Kontraste interpretiert? Ich habe versucht, stattdessen die verallgemeinerte Inverse zu verwenden, aber diese Schätzungen sind auch nicht sinnvoll.
c2 <- t(ginv(c1))
gather(temp, cond, result, a, b, c) %>%
lmer(result ~ cond + (1|s), data = ., contrasts = list(cond = c2))
Ich habe auch Helmert-Kontraste ausprobiert, aber die Mittel stimmen immer noch nicht überein.
gather(temp, cond, result, a, b, c) %>%
mutate(cond = factor(cond, levels = c("c", "b", "a"))) %>%
lmer(result ~ cond + (1|s), data = ., contrasts = list(cond = contr.helmert))
Was ist der richtige Weg, um dies zu tun?