由于错误,我想覆盖默认的 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 仍然存在,我认为这可能是调用顺序或我需要调整的东西。任何熟悉如何做到这一点的人?