バグのため、デフォルトの predict.lm 関数をオーバーライドしたい:
library(datasets)
# Just a regular linear regression
fit <- lm(mpg~disp+hp+wt+drat, data=mtcars)
termplot(fit, terms=2, se=T)
このエラーが発生します:
Error in predict.lm(model, type = "terms", se.fit = se, terms = terms) :
subscript out of bounds
私はバグがどこにあるかを知っており、コアメーリングリストによる承認を待つ電子メールを送信しましたが、それまでの間、これを修正するために独自の predict.lm 関数をテストしたいと思います。予測のために S3 関数を再定義する必要があることは理解しましたが、このコードを実行すると:
setMethod("predict", "lm", predict.lm2)
getMethod("predict", "lm")
getMethod は期待どおりに新しい関数を返しますが、termplot はまだ古い関数を実行します。またmethods("predict")
、古い predict.lm がまだ残っていることも示されています。これは、呼び出し順序または調整が必要なものである可能性があります。これを行う方法に精通している人はいますか?