📜  如何在 R 中使用 lm()函数来拟合线性模型?(1)

📅  最后修改于: 2023-12-03 15:24:20.685000             🧑  作者: Mango

在 R 中使用 lm()函数来拟合线性模型

线性模型是一种用于描述两个或多个变量之间关系的统计模型。在 R 中,我们可以使用 lm() 函数来拟合线性模型并进行预测和推断。本文将介绍如何使用 lm() 函数来拟合线性模型。

准备数据

首先,我们需要准备数据,以便使用 lm() 函数。假设我们有一个数据集,其中有两列变量 x 和 y。我们可以通过以下命令创建这个数据集:

x <- c(1, 2, 3, 4, 5)
y <- c(2, 4, 5, 4, 5)
mydata <- data.frame(x, y)

这将创建一个数据框 mydata,其中包含两列变量 x 和 y,每列有五个观测值。

拟合线性模型

在准备好数据后,我们可以使用 lm() 函数来拟合线性模型。lm() 函数的基本语法如下:

model <- lm(formula, data)

其中,formula 是一个公式,用于描述响应变量和预测变量之间的关系;data 是一个数据框,包含所有的变量。在上面的例子中,我们可以使用以下代码来拟合一个线性模型:

model <- lm(y ~ x, data = mydata)

这个公式 y ~ x 表示我们希望使用变量 x 来预测变量 y。data = mydata 表示数据来自 mydata 数据框。

查看模型摘要

一旦我们拟合了线性模型,就可以使用 summary() 函数来查看模型摘要。模型摘要包括模型的拟合质量统计信息,例如调整决定系数、截距、斜率等。我们可以使用以下代码来查看模型摘要:

summary(model)

这将输出以下摘要信息:

Call:
lm(formula = y ~ x, data = mydata)

Residuals:
    1     2     3     4     5 
-0.60  0.20  0.40 -0.20  0.20 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept)    2.2000     0.5607   3.920    0.029 *
x              0.7000     0.1909   3.664    0.032 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.4688 on 3 degrees of freedom
Multiple R-squared:  0.7103,    Adjusted R-squared:  0.6162 
F-statistic: 7.934 on 1 and 3 DF,  p-value: 0.0319

摘要信息包括:

  • Call:lm() 函数调用的公式和数据信息
  • Residuals:残差分析结果
  • Coefficients:模型系数估计值、标准误差、t 值以及 p 值
  • Residual standard error:残差标准误差
  • Multiple R-squared:多重相关系数(决定系数)
  • Adjusted R-squared:调整决定系数
  • F-statistic:F 检验统计量和 p 值
预测和推断

拟合线性模型后,我们可以使用 predict() 函数来进行预测,使用 confint() 函数来进行推断。例如,我们可以使用以下命令来计算 x = 6 对应的 y 值:

newdata <- data.frame(x = 6)
predict(model, newdata = newdata)

这将返回预测值 5。

我们还可以使用以下命令来计算斜率和截距的置信区间:

confint(model)

这将返回斜率和截距的 95% 置信区间。

结论

在 R 中,使用 lm() 函数来拟合线性模型非常方便。我们只需要准备好数据,然后使用 lm() 函数即可完成拟合。使用 summary() 函数可以轻松地查看模型摘要和拟合质量统计信息。然后,我们可以使用 predict() 函数进行预测,使用 confint() 函数进行推断。