Regressão linear com interação falha no pacote rms

Estou brincando com interação na fórmula. Gostaria de saber se é possível fazer uma regressão com interação para uma das duas variáveis ​​fictícias. Isso parece funcionar na regressão linear regular usando a função lm (), mas com a função ols () no pacote rms a mesma fórmula falha. Alguém sabe por quê?

Aqui está meu exemplo

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

E agora o exemplo 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>

Esse experimento pode não ser a estatística mais sábia a ser feita, pois parece que as estimativas mudam significativamente, mas estou um pouco curioso para saber por que o ols () falha, já que ele deveria fazer as "mesmas rotinas de ajuste usadas pelo lm"

questionAnswers(1)

yourAnswerToTheQuestion