Mehrwege-Interaktion: Einfache Methode, um Schätzungen für numerische Koeffizienten zu erhalten?
Nehmen wir an, es gibt eine 4-Wege-Interaktion mit einem faktoriellen 2x2x2-Design und einer stetigen Variablen. Faktoren haben die voreingestellte Kontrastkodierung contr.treatment
). Hier ist ein Beispiel:
set.seed(1)
cat1 <- as.factor(sample(letters[1:2], 1000, replace = TRUE))
cat2 <- as.factor(sample(letters[3:4], 1000, replace = TRUE))
cat3 <- as.factor(sample(letters[5:6], 1000, replace = TRUE))
cont1 <- rnorm(1000)
resp <- rnorm(1000)
df <- data.frame(cat1, cat2, cat3, cont1, resp)
mod <- lm(resp ~ cont1 * cat1 * cat2 * cat3, data = df)
Blick auf die Ausgabe voncoef(mod)
, wir bekommen so etwas wie:
(Intercept) cont1 cat1b
0.019822407 0.011990238 0.207604677
cat2d cat3f cont1:cat1b
-0.010132897 0.105397591 -0.001153867
cont1:cat2d cat1b:cat2d cont1:cat3f
0.023358901 -0.194991402 0.060960695
cat1b:cat3f cat2d:cat3f cont1:cat1b:cat2d
-0.240624582 -0.117278931 -0.069880751
cont1:cat1b:cat3f cont1:cat2d:cat3f cat1b:cat2d:cat3f
-0.120446848 -0.141688864 0.136945262
cont1:cat1b:cat2d:cat3f
0.201792298
Und um den geschätzten Achsenabschnitt für @ zu erhaltcat1b
(zum Beispiel), wir würden unser implizites @ hinzufüg(Intercept)
Begriff undcat1b
, d. h.coef(mod)[1] + coef(mod)[3]
. Um die Änderung der Steigung für dieselbe Kategorie zu erhalten, würden wir @ verwendecoef(mod)[2] + coef(mod)[6]
, a l diese R-Blogger posten. Es wird ziemlich mühsam, sie alle auszuschreiben, undmethods(class="lm")
sieht nicht so aus, als hätte es irgendwelche Funktionen, die dies direkt aus dem Gatter heraus tun.
Gibt es eine offensichtliche Möglichkeit, numerische Schätzungen für den Achsenabschnitt und die Steigung für jede Kombination von Faktoren zu erhalten?