在R中使用`lm`时获得缩放的预测值

时间:2016-02-23 11:18:12

标签: r linear-regression lm

我在R中使用docker save -o <save image to path> <image name>进行简单的多线性回归。这是一个示例模型:

lm

其中m <- lm(formula = t ~ a + b + 0, data = df1) tab中的列。该模型计算2个系数,我们称之为df1a.coef。如果我然后使用此模型预测其他一些数据,比如在b.coef中,我可以得到预测值,如下所示:

df2

如果我在predict(m, df2) 中也有ab列。它基本上返回

df2

但我想要的是列df2$a * a.coef + df2$b * b.coef df2$a * a.coef。 R对它们求和并给出答案,但我想看看缩放如何影响这些值。

是否有方便的方法在R中执行此操作(尤其是df2$b * b.coeflm),还是我必须自己手动编码?我在predict.lm中使用了terms参数,但我无法到达任何地方。

感谢您的帮助!

修改 我写了这个函数:

predict.lm

1 个答案:

答案 0 :(得分:0)

试试这个:

sweep(df2, MARGIN = 2, coef(m), '*')

编辑:更具体的解决方案:

sweep(df2[,c("a","b")], MARGIN = 2, coef(m), '*')