Ich möchte eine unbeschränkte Design-Matrix für faktorielle Experimente in R erstellen und der folgende Code gibt mir die gewünschte Matrix. Der Code erfordert jedoch einen separaten model.matrix
-Befehl für jeden Faktor sowie für den Intercept-Ausdruck. Ich bin gespannt, ob das gleiche Ergebnis mit einem einzigen Liner erzielt werden kann. DankUneingeschränkte Design-Matrix für faktorielle Experimente in R
y <- c(55, 56, 57, 53, 54, 55, 51, 52, 53, 61, 62, 63)
N <- gl(n = 2, k = 6, length = 2 * 6
, labels = c("Low", "High")
, ordered = FALSE)
P <- gl(n = 2, k = 3, length = 2 * 6
, labels = c("Low", "High")
, ordered = FALSE)
Data <- data.frame(y, N, P)
X <-
cbind(
model.matrix(object = y ~ 1, data = Data)
, model.matrix(object = y ~ -1 + N, data = Data)
, model.matrix(object = y ~ -1 + P, data = Data)
, model.matrix(object = y ~ -1 + N:P, data = Data)
)
print(x = X)