R中的线性模型-乘法表达式

时间:2019-04-18 05:45:56

标签: r

我有3个数字变量ABC。我正在尝试创建一个能够预测A的线性模型。我正在使用的表达式是B*C的乘积,以便预测A;但是,在查看输出时,我无法获得方程式,因为我得到了一个额外的变量,我不知道它是什么。

这是我的代码

MyData<-read.csv("...", header = T)
head(MyData,6)
str(MyData)

#Linear Model 
#Expersion A= B*C
Model1<-lm(MyData$A~MyData$B*MyData$C)
summary(Model1)

str(MyData)的输出

> str(MyData)
'data.frame':   6 obs. of  3 variables:
 $ A: num  2.5 3.4 2.7 3.6 2.5 2.1
 $ B: num  0.01 0.02 0.015 0.017 0.018 0.01
 $ C: num  0.1 0.2 0.27 0.19 0.17 0.16

summary(Model1)的输出

Call:
lm(formula = MyData$A ~ MyData$B * MyData$C)

Residuals:
       1        2        3        4        5        6 
-0.03945 -0.08386 -0.13925  0.67703 -0.40055 -0.01393 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)
(Intercept)          5.473      5.774   0.948    0.443
MyData$B          -222.431    454.508  -0.489    0.673
MyData$C           -26.482     36.222  -0.731    0.541
MyData$B:MyData$C 1938.961   2679.207   0.724    0.544

Residual standard error: 0.5688 on 2 degrees of freedom
Multiple R-squared:  0.6149,    Adjusted R-squared:  0.03723 
F-statistic: 1.064 on 3 and 2 DF,  p-value: 0.5178

lm使用Wilkinson-Rogers表示法,因此"*"是基于输出的迭代,对吗?是真的吗,如何使用两个变量的乘积创建模型?

1 个答案:

答案 0 :(得分:1)

如果您只想使用两个变量的字面乘积而不是相互作用的单项,则可以使用I()

Model1 <- lm(MyData$A ~ I(MyData$B * MyData$C))

我认为在实践中,有2个数字变量,这与Dan提出的建议使用x1:x2来获得交互作用而没有每个预测变量的单独术语一样,但在其他情况下可能会有所不同。 / p>