我有3个数字变量A
,B
和C
。我正在尝试创建一个能够预测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表示法,因此"*"
是基于输出的迭代,对吗?是真的吗,如何使用两个变量的乘积创建模型?
答案 0 :(得分:1)
如果您只想使用两个变量的字面乘积而不是相互作用的单项,则可以使用I()
:
Model1 <- lm(MyData$A ~ I(MyData$B * MyData$C))
我认为在实践中,有2个数字变量,这与Dan提出的建议使用x1:x2
来获得交互作用而没有每个预测变量的单独术语一样,但在其他情况下可能会有所不同。 / p>