私は数式で相互作用をして遊んでいます。私は2つのダミー変数の1つについて相互作用を伴う回帰を行うことが可能かどうか疑問に思った。これは、lm()関数を使った通常の線形回帰では動作するようですが、rmsパッケージのols()関数では同じ式が失敗します。誰でも知っている理由は?rms-packageで対話を伴う線形回帰が失敗します
は、ここでは推定値が大きく変化が、私はだと思えるように、この実験を行うための賢明な統計ではないかもしれません私の例
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)
そして今のrms例
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)
ですなぜols()が "lmによって使用される同じフィッティングルーチン"を実行する必要があるのか不思議です。
感謝を。私はインタラクション変数を作成することを考えましたが、予測/コントラスト関数と相互作用することは少し怖いです –