Die lineare Regression mit der Interaktion schlägt im rms-Paket fehl

Ich spiele mit der Interaktion in der Formel. Ich habe mich gefragt, ob es möglich ist, eine Regression mit Interaktion für eine der beiden Dummy-Variablen durchzuführen. Dies scheint in der regulären linearen Regression mit der Funktion lm () zu funktionieren, aber mit der Funktion ols () im rms-Paket schlägt dieselbe Formel fehl. Weiß jemand warum?

Hier ist mein Beispiel

<code>data(mtcars)

mtcars$gear <- factor(mtcars$gear)
regular_lm <- lm(mpg ~ wt + cyl + gear + cyl:gear, data=mtcars)
summary(regular_lm)

regular_lm <- lm(mpg ~ wt + cyl + gear + cyl:I(gear == "4"), data=mtcars)
summary(regular_lm)
</code>

Und jetzt das Effektivwert-Beispiel

<code>library(rms)

dd <- datadist(mtcars)
options(datadist = "dd")

regular_ols <- ols(mpg ~ wt + cyl + gear + cyl:gear, data=mtcars)
regular_ols

# Fails with:
#     Error in if (!length(fname) || !any(fname == zname)) { : 
#         missing value where TRUE/FALSE needed
regular_ols <- ols(mpg ~ wt + cyl + gear + cyl:I(gear == "4"), data=mtcars)
</code>

Dieses Experiment ist möglicherweise nicht die klügste Statistik, da sich die Schätzungen anscheinend erheblich ändern. Ich bin jedoch ein wenig gespannt, warum ols () fehlschlägt, da hier dieselben Anpassungsroutinen wie bei lm verwendet werden sollten.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage