La regresión lineal con interacción falla en el paquete rms

Estoy jugando con la interacción en la fórmula. Me pregunté si es posible hacer una regresión con interacción para una de las dos variables ficticias. Esto parece funcionar en la regresión lineal regular usando la función lm () pero con la función ols () en el paquete rms, la misma fórmula falla. Alguien sabe por qué?

Aquí está mi ejemplo

<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>

Y ahora el ejemplo rms.

<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>

Es posible que este experimento no sea la estadística más inteligente, ya que parece que las estimaciones cambian significativamente, pero siento cierta curiosidad por saber por qué falla ols (), ya que debería hacer "las mismas rutinas de ajuste que usa lm"

Respuestas a la pregunta(1)

Su respuesta a la pregunta