predict.lm 任意系数 r
predict.lm with arbitrary coefficients r
我正在尝试使用 predict.lm 预测 lm 对象。但是,我想使用手动插入的系数。
为此,我尝试了:
model$coefficients <- coeff
(其中 "coeff" 是正确系数的向量)
这确实会根据我的需要修改系数。然而,当我执行
predict.lm(model, new.data)
我只得到使用 "old" 参数计算的预测。有没有办法强制 predict.lm 使用新的?
Post Scriptum:我需要这样做来拟合 bin-smooth(也称为回归图)。
此外,当我预测 "by hand" (即使用矩阵乘法)时,结果很好,因此我很确定问题在于 predict.lm 无法识别我的新系数。
在此先感谢您的帮助!
破解 $coefficients
元素似乎确实有效。你能展示什么不适合你吗?
dd <- data.frame(x=1:5,y=1:5)
m1 <- lm(y~x,dd)
m1$coefficients <- c(-2,1)
m1
## Call:
## lm(formula = y ~ x, data = dd)
##
## Coefficients:
## [1] -2 1
predict(m1,newdata=data.frame(x=7)) ## 5 = -2+1*7
predict.lm(...)
给出相同的结果。
我会非常谨慎使用这种方法,每次你对被黑模型做一些不同的事情时都要检查一下。
一般来说,如果 predict
和 simulate
方法采用 newparams
参数会很好,但它们通常不会...
我正在尝试使用 predict.lm 预测 lm 对象。但是,我想使用手动插入的系数。 为此,我尝试了:
model$coefficients <- coeff
(其中 "coeff" 是正确系数的向量) 这确实会根据我的需要修改系数。然而,当我执行
predict.lm(model, new.data)
我只得到使用 "old" 参数计算的预测。有没有办法强制 predict.lm 使用新的?
Post Scriptum:我需要这样做来拟合 bin-smooth(也称为回归图)。 此外,当我预测 "by hand" (即使用矩阵乘法)时,结果很好,因此我很确定问题在于 predict.lm 无法识别我的新系数。
在此先感谢您的帮助!
破解 $coefficients
元素似乎确实有效。你能展示什么不适合你吗?
dd <- data.frame(x=1:5,y=1:5)
m1 <- lm(y~x,dd)
m1$coefficients <- c(-2,1)
m1
## Call:
## lm(formula = y ~ x, data = dd)
##
## Coefficients:
## [1] -2 1
predict(m1,newdata=data.frame(x=7)) ## 5 = -2+1*7
predict.lm(...)
给出相同的结果。
我会非常谨慎使用这种方法,每次你对被黑模型做一些不同的事情时都要检查一下。
一般来说,如果 predict
和 simulate
方法采用 newparams
参数会很好,但它们通常不会...