Wie man Kovariaten in einem Regressionsmodell angibt
Der Datensatz, den ich analysieren möchte, sieht folgendermaßen aus:
n <- 4000
tmp <- t(replicate(n, sample(49,6)))
dat <- matrix(0, nrow=n, ncol=49)
colnames(dat) <- paste("p", 1:49, sep="")
dat <- as.data.frame(dat)
dat[, "win.frac"] <- rnorm(n, mean=0.0176504, sd=0.002)
for (i in 1:nrow(dat))
for (j in 1:6) dat[i, paste("p", tmp[i, j], sep="")] <- 1
str(dat)
etzt möchte ich eine Regression mit der abhängigen Variablen @ durchführewin.frac
und alle anderen Variablen p1
, ...,p49
) als erklärende Variablen.
ei allen Ansätzen, die ich ausprobiert habe, erhalte ich jedoch den Koeffizienten fürp49
als NA, mit der Meldung "1 wegen Singularitäten nicht definiert". Ich habe es versuch
modspec <- paste("win.frac ~", paste("p", 1:49, sep="", collapse=" + "))
fit1 <- lm(as.formula(modspec), data=dat)
fit2 <- lm(win.frac ~ ., data=dat)
Interessanterweise funktioniert die Regression, wenn ich 48 erklärende Variablen verwende. Dies kann (p2, ..., p49) oder möglicherweise nicht (p1, ..., p48) das p49 enthalten, daher denke ich, dass dies nicht mit der Variablen p49 selbst zusammenhängt. Ich habe auch versucht, größere Werte vonn
, mit dem gleichen Ergebnis.
Ich habe es auch versuchtbetareg
von dembetareg
Paket, seitwin.frac
ist zwischen 0 und 1 eingeschränkt. Die Regression schlägt auch in diesem Fall fehl, mit der Fehlermeldung (grob übersetzt) "Fehler in optim (...): unendlicher Wert von optim angegeben"
library(betareg)
fit3 <- betareg(as.formula(modspec), data=dat, link="log")
etzt stecke ich fest. Wie kann ich diese Regression durchführen? Gibt es maximal Variablen? Liegt dieses Problem daran, dass die erklärenden Variablen entweder 0 oder 1 sind?
Jeder Hinweis wird sehr geschätzt!