R中lm函数的详细信息

时间:2012-05-14 11:41:35

标签: r lm

如果在R中,我使用以下行:

linear <- lm(y~x-1)

R将找到一条经过原点的回归线。

我的问题是,原点是x = 0还是x值中的最低值?

例如,如果我的x值是1998年到2011年,拟合线将在1998年或0年过去?

2 个答案:

答案 0 :(得分:10)

在等式中使用“-1”,斜率将通过原点。您可以通过预测x = 0处的值来看到这一点:

x <- 1998:2011
y <- 3*x+rnorm(length(x))
fit <- lm(y~x-1)
summary(fit)
newdata <- data.frame(x=0:10)
predict(fit,newdata)

答案 1 :(得分:4)

正如@Marcinthebox指出的那样,它将通过原点。以图形方式查看:

x <- seq(-5,5)
y <- 3*x+rnorm(length(x))
fit.int <- lm(y~x)
fit <- lm(y~x-1)
summary(fit)

plot(y~x,xlim=c(-.1,.1),ylim=c(-.1,.1))
abline(fit,col="red")
abline(fit.int,col="blue")
abline(h=0)
abline(v=0)

plot of origin