r语言基础知识学习:r中的线性回归分析

草堂夜归人 草堂夜归人     2022-08-13     458

关键词:

在R中线性回归分析的函数是lm()。

(1)一元线性回归

我们可以根据以上数据来分析合金的强度是否与碳含量有关系。

首用以下命令把数据读取到R中:

x <- c(seq(0.10,0.18,by = 0.01),0.20,0.21,0.23)
y <- c(42.0,43.5,45.0,45.5,45.0,47.5,49.0,53.0,50.0,55.0,55.0,60.0)
plot(x,y)

通过画图得到想x,y两个变量之间存在某种线性关系

所以,就可以用lm()函数来拟合直线,通过回归函数lm()得到如下结果:

lm.sol <- lm(y~1+x)  ##lm()函数返回拟合结果的对象,可以用summary()函数查看其内容。
summary(lm.sol)

回归结果:

Call:
lm(formula = y ~ 1 + x)

Residuals:
Min 1Q Median 3Q Max
-2.0431 -0.7056 0.1694 0.6633 2.2653

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 28.493 1.580 18.04 5.88e-09 ***
  x           130.835 9.683 13.51 9.50e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.319 on 10 degrees of freedom
Multiple R-squared: 0.9481, Adjusted R-squared: 0.9429
F-statistic: 182.6 on 1 and 10 DF, p-value: 9.505e-08

结果分析:

其中,两个回归系数分别是28.493和130.835,结果里面还有t值,以及两个P值,P值越小,回归效果越显著,并且后面星级越高。

倒数第二行R-squared数字越接近于1,回归效果越好。

所以,本例回归分析效果显著,回归直线为:y=28.493+130.835x。

做完回归分析之后还可以进行做预测,也就是说给定一个x值,可以求出Y值的概率为0.95的相应区间。在R中可以用predict()函数实现:

> new <- data.frame(x = 0.16)     ##注意,一个值也要写出数据框的形式。
> lm.pred <- predict(lm.sol,new,interval = "prediction",level = 0.95)   ##加上interval = "prediction",表示同时给出相应的预测区间。
> lm.pred
    fit          lwr    upr
1  49.42639 46.36621 52.48657

 

 (2)多元线性回归

 

首先把数据读取到R中:

> x1 <- c(76.0,91.5,85.5,82.5,79.0,80.5,74.5,79.0,85.0,76.5,82.0,95.0,92.5)
> x2 <- c(50,20,20,30,30,50,60,50,40,55,40,40,20)
> y <- c(120,141,124,126,117,125,123,125,132,123,132,155,147)
> mydata <- data.frame(x1,x2,y)

做线性回归:

> lm.sol <- lm(y ~ x1 + x2,data = mydata)
> summary(lm.sol)

结果:

Call:
lm(formula = y ~ x1 + x2, data = mydata)

Residuals:
Min 1Q Median 3Q Max
-4.0404 -1.0183 0.4640 0.6908 4.3274

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -62.96336 16.99976 -3.704 0.004083 **
x1 2.13656 0.17534 12.185 2.53e-07 ***
x2 0.40022 0.08321 4.810 0.000713 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.854 on 10 degrees of freedom
Multiple R-squared: 0.9461, Adjusted R-squared: 0.9354
F-statistic: 87.84 on 2 and 10 DF, p-value: 4.531e-07

从以上结果来看,回归系数和回归方程的检验都是显著的,所以回归方程为:y=-62.96366+2.13656x1+0.40022x2

 与一元回归一样,也可以用predict()函数做预测:

下面来预测以为体重80KG,年龄40岁的男子的血压:

> new <- data.frame(x1 = 80,x2 = 60)
> lm.pred <- predict(lm.sol,new ,interval = "prediction", level = 0.95)
> lm.pred
    fit      lwr      upr
1 131.9743 124.6389 139.3096

 

r语言数据挖掘中的,“回归分析”是如何操作的?

回归分析是对多个自变量(又称为预测变量)建立一个函数来预测因变量(又称为响应变量的值)。例如,银行根据房屋贷款申请人的年龄、收入、开支、职业、负担人口,以及整体信用限额等因素,来评估申请人的房贷风险。线性... 查看详情

r语言pca主成分分析(principlecomponentanalysis)与线性回归结合实战

R语言PCA主成分分析(PrincipleComponentAnalysis)与线性回归结合实战 目录R语言PCA主成分分析(PrincipleComponentAnalysis)与线性回归结合实战 查看详情

拓端tecdat|r语言代码编写相关分析和稳健线性回归分析

R语言相关分析和稳健线性回归分析目录​​怎么做测试​​​​功率分析​​介绍下面以物种多样性为例子展示了如何在R语言中进行相关分析和线性回归分析。 怎么做测试相关和线性回归示例 Data=read.table(textConnection(Inp... 查看详情

机器学习--线性回归r语言(代码片段)

...练,然后用你得到的模型对于新数据进行预测。一元线性回归:例子:y<-c(61,57,58,40,90,35,68)#weightx<-c(170,168,175,153,185,135,172)#heightp 查看详情

r语言构建多元线性回归模型

R语言构建多元线性回归模型对比一元线性回归,多元线性回归是用来确定2个或2个以上变量间关系的统计分析方法。多元线性回归的基本的分析方法与一元线性回归方法是类似的,我们首先需要对选取多元数据集并定义数学模型... 查看详情

r语言使用回归方法解决方差分析问题

R语言使用回归方法解决方差分析问题线性回归与t检验等价;线性回归与方差分析等价;线性回归与协方差分析等价;ANOVA和回归都是广义线性模型的特例。案例1回归分析做ANOVAlibrary(multcomp)levels(cholesterol$trt)fit.aov<-aov(response~trt... 查看详情

回归分析r语言--多元线性回归

...持所有其他预测变量不变。在本节中,依然使用datarium包中的marketing数据集,我们将建立一个多元回归模型,根据在三种广告媒体(youtube,facebook和报纸)上投入的预算来预测销售。计算公式如下:sales=b0+b1*youtube+b2*facebook+b3*newsp... 查看详情

r语言之logistic回归分析

...ry对于广义线性模型并不能给出决定系数,需要使用pscl包中的pR2函数得到伪决定系数,然后再使用summary得到细节>library(RSADBE)>data(sat)>pass_p 查看详情

如何用r语言做线性相关回归分析

cor()函数可以提供双变量之间的相关系数,还可以用scatterplotMatrix()函数生成散点图矩阵不过R语言没有直接给出偏相关的函数;我们要是做的话,要先调用cor.test()对变量进行Pearson相关性分析,得到简单相关系数,然后做t检验,... 查看详情

看r语言建立回归分析,如何利用vif查看共线性问题

...没有勾选,只会出现既定标准的指标在此需加入Statistisc中的"共线性诊断"4、排除共线性强因子,可用偏相关查看是否确实应该排除主要是看VIF值是否大於2(大於2,表示共线性极强需改善)否则会有交互作用5、最後模型拟合程... 查看详情

r语言之线性回归分析

一、建立简单线性回归模型可使用函数lm实现,函数是围绕公式展开的,lm接受一个公式对象作为试图建立的模型,可以通过?formula来查询通用格式,data.frame也可以被明确指定,它包括所需的数据>library(RSADBE)>data(IO_Time)>IO_l... 查看详情

r语言学习笔记1

数据分析1.探索性数据分析  数据分析中的必要步骤,通过作图了解数据。 2.统计推断  基于数据得出正式结论(错误概率≤5%)的过程    —不确定性(噪音数据)  结论+结论是错误的概率3.回归分析  线性... 查看详情

多元线性回归 - R 中的梯度下降

】多元线性回归-R中的梯度下降【英文标题】:MultivariateLinearRegression-GradientDescentinR【发布时间】:2017-01-0208:55:45【问题描述】:我正在学习机器学习。所以我用我在网上找到的数据做了一些简单的练习。现在我尝试在R中通过梯... 查看详情

机器学习-线性回归(基于r语言)

基本概念利用线性的方法,模拟因变量与一个或多个自变量之间的关系。自变量是模型输入值,因变量是模型基于自变量的输出值。因变量是自变量线性叠加和的结果。 线性回归模型背后的逻辑——最小二乘法计算线... 查看详情

r语言回归分析(regression)常见算法:简单线性回归多项式回归多元线性回归多水平回归多输出回归逻辑回归泊松回归cox比例风险回归时间序列分析非线性回归非参数回归稳健回归等

R语言回归分析(regression)常见算法:简单线性回归、多项式回归、多元线性回归、多水平回归、多输出回归、逻辑回归、泊松回归、cox比例风险回归、时间序列分析、非线性回归、非参数回归、稳健回归等目录开发者涨薪指南4... 查看详情

r语言广义线性模型logistic回归模型列线图分析(nomogram)

R语言广义线性模型Logistic回归模型列线图分析(nomogram)我们来看图说话:gist是一种胃肠道间质瘤,作者构建了无复发生存率的logistic回归模型。并构建了如下的列线图或者nomogram现在假设新来了以为患者:我们知道的信息如下... 查看详情

r语言广义线性模型logistic回归模型亚组分析及森林图绘制

R语言广义线性模型Logistic回归模型亚组分析及森林图绘制#Logistic回归案例6亚组分析森林图library(forestplot)rs_forest<-read.csv(\'rs_forest.csv\',header=FALSE)#读入数据的时候大家一定要把header设置成FALSE,保证第一行不被当作列名称。#tiff(\... 查看详情

r语言线性回归(代码片段)

...收集。另一个变量称为响应变量,其值来自预测变量。在线性回归中,这两个变量通过一个等式相关联,其中这两个变量的指数(幂)是1。数学上,当绘制为图形时,线性关系表示直线。任何变量的指数不等于1的非线性关系产生... 查看详情