【问题标题】:Details of lm function in RR中lm函数的详细信息
【发布时间】:2012-05-21 21:31:58
【问题描述】:

如果在 R 中我使用该行:

linear <- lm(y~x-1)

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

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

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

【问题讨论】:

  • 如果你想让拟合线穿过1998,你可以试试lm(y~I(x-1998)-1)

标签: r lm


【解决方案1】:

等式中带有“-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)

【讨论】:

    【解决方案2】:

    正如@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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2022-10-23
      • 1970-01-01
      • 2018-06-27
      相关资源
      最近更新 更多