简单线性回归lm函数R.

时间:2018-04-23 14:19:34

标签: r linear-regression lm

我已经阅读了一些关于R中lm()函数的教程,我对这个函数如何处理连续或离散预测变量有点困惑。在https://www.r-bloggers.com/r-tutorial-series-simple-linear-regression/中,对于连续标记,系数表示线性回归的截距和斜率。

enter image description here

这很清楚,但是现在我有一个性别类别,其中值为0或1,lm()函数如何工作。该函数是否应用逻辑回归,或者仍然可以以这种方式使用该函数。

1 个答案:

答案 0 :(得分:1)

您正在寻找的答案在您的问题中尚不清楚。是的,您可以将lm函数与分类变量一起使用。得到的方程是两个线性拟合的总和。

最好用一个例子来说明。使用补充数据:

x<-seq(1:10)
y1<-x+rnorm(10, 0, 0.1)
y2<-(10-x)+4+rnorm(10, 0, 0.1)
f<-rep(c("A", "B"), each=10)
df<-data.frame(x=c(x,x), y=c(y1, y2), f)

#Model 1
summary(lm(y1~x))

#Model 2
model<-lm(y~x*f, data=df)
summary(model)

#Model 3
summary(lm(y2~x))

运行上面的代码并比较模型1和2后,您可以看到截距和x斜率是如何相同的。这是因为当它是因子A(即0或不存在)时,fb和x:fb是0并且掉线。当因子为B时,则fb和x:fb为实际值,并且是模型的附加值。

如果将截距和fb加在一起并将x斜率添加到x:fb,结果将是模型3的斜率和截距。

我希望这会有所帮助,并且不会让你了解。