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!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage