(生物信息学)R语言与统计学入门(七)—— 一元线性回归分析
我们之前讲过相关性分析,生物信息学常见的相关性分析是pearson相关和spearman相关。
(生物信息学)R语言与统计学入门(六)—— Pearson和Spearman相关性分析_Lijingxian教你学生信的博客-CSDN博客
但是相关性分析也有它的的缺点。
相关分析只能得出两个变量之间是否相关, 但却不能回答在两个变量之间
存在相关关系时, 它们之间是如何联系的, 即无法找出刻画它们之间因果关系
的函数关系. 回归分析就可以解决这一问题, 先从一元线性回归讲起。
下面我们来看一看,比如两个基因的表达,他们之间的相关性可以用pearson和spearman分析,但是他们之间的线性关系,则得用一元线性回归分析。
下面先看看代码,我们构建两个基因的表达量read count:
GeneA <- c(318, 910, 200, 409, 425, 502, 314, 1210, 1022, 1225)
GeneB <- c(524, 1019, 638, 815, 913, 928, 605, 1516, 1219, 1624)
GeneA <- log2(GeneA)
GeneB <- log2(GeneB)
这里取log2是希望两个数据能够正态化。
plot(GeneA, GeneB)
可以看到两个数据的关系如图所示。
在R中, 由函数lm( )可以非常方便地求出回归方程, 函数confint( )可求 出参数的置信区间. 与回归分析有关的函数还有summary( ), anova( ) 和predict( )等. 函数lm( )的的调用格式为:
lm(formula, data, subset, weights, na.action,method = "qr", model = TRUE, x = FALSE, y = FALSE, qr = TRUE,singular.ok = TRUE, contrasts = NULL, offset, ...)
说明: formula是显示回归模型, data是数据框, subset是样本观察的子 集, weights是用于拟合的加权向量, na.action显示数据是否包含缺失值, method是指出用于拟合的方法, model, x, y, qr是逻辑表达, 如果是TRUE, 应 返回其值. 除了第一个选项formula是必选项, 其它都是可选项.
函数confint( )的调用格式为:
confint(object, parm, level = 0.95, ...)
说明: object是指回归模型, parm要求指出所求区间估计的参数, 默认值为所 有的回归参数, level是指置信水平.
下面我们来算回归方程:
GeneA <- c(318, 910, 200, 409, 425, 502, 314, 1210, 1022, 1225)
GeneB <- c(524, 1019, 638, 815, 913, 928, 605, 1516, 1219, 1624)
GeneA <- log2(GeneA)
GeneB <- log2(GeneB)lm.reg<-lm(GeneA~1+GeneB)summary(lm.reg)
这里的lm(GeneA~1+GeneB) 也可以写成lm(GeneA~GeneB)
结果如下所示:
> summary(lm.reg)Call:
lm(formula = GeneA ~ 1 + GeneB)Residuals:Min 1Q Median 3Q Max
-0.6350 -0.1507 -0.0466 0.2339 0.5012 Coefficients:Estimate Std. Error t value Pr(>|t|)
(Intercept) -6.1998 2.2703 -2.731 0.025814 *
GeneB 1.5539 0.2303 6.747 0.000146 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.3794 on 8 degrees of freedom
Multiple R-squared: 0.8505, Adjusted R-squared: 0.8318
F-statistic: 45.52 on 1 and 8 DF, p-value: 0.0001456
结果解读:
-6.1998是结局,1.5539是系数,因此公式为
GeneA = -6.1998+1.5539*GeneB
下面计算置信区间:
confint(lm.reg, level=0.95)> confint(lm.reg, level=0.95)2.5 % 97.5 %
(Intercept) -11.435212 -0.964442
GeneB 1.022792 2.085079
得到了回归方程, 还可以对误差项独立同正态分布的假设进行检验. 在R中只需再执行一个plot命令:
op<-par(mfrow=c(2, 2))
plot(lm.reg)
par(op)
上面的命令plot(lm.reg)实际上使用了四次plot(x, y), 产生四个图形, 它们分别为: 1) Residual vs fitted为拟合值yˆ对残差的图形, 可以看出, 数据点都基本均匀 地分布在直线y 0的两侧, 无明显趋势; 2) Normal QQ-plot图中数据点分布趋于一条直线, 说明残差是服从正态分 布的; 3) Scale-Location 图显示了标准化残差(standardized residuals)的平方根 的分布情况. 最高点为残差最大值点; 4) Cook距离(Cook’s distance)图显示了对回归的影响点。
了解了一元线性回归以后,我们便可以将拟合的模型绘制在散点图中:
具体做法参照之前的一篇文章:
绘制一张好看的散点图及pearson和spearman相关性分析的选择_Lijingxian教你学生信的博客-CSDN博客绘制一张好看的散点图及pearson和spearman相关性分析的选择https://lijingxian19961016.blog.csdn.net/article/details/124056402?spm=1001.2014.3001.5502
(生物信息学)R语言与统计学入门(七)—— 一元线性回归分析相关推荐
- (生物信息学)R语言与统计学入门(二)——单因素方差分析
上次说到t检验,是检验两组数据的均数差异,链接如下: (生物信息学)R语言与统计学入门(一)--t 检验_李京弦的博客-CSDN博客 这次我们来介绍一下单因素方差分析. 单因素方差分析: 方差分析(A ...
- (生物信息学)R语言与统计学入门(五)—— Wilcoxon秩和检验法和Mann-Whitney U检验
上回说到t检验:(生物信息学)R语言与统计学入门(一)--t 检验_Lijingxian教你学生信的博客-CSDN博客t检验,亦称student t检验(Student's t test),比较两个平 ...
- R语言基础知识入门学习(一)
目录 系列文章目录 一.软件下载 二.基本知识 1. 对象 2. 向量 3. 向量化 4. 因子 总结 系列文章目录 R语言基础知识入门学习(一) 一.软件下载 我们可以通过这个网址对R语言软件进行下 ...
- R语言学习笔记——入门篇:第一章-R语言介绍
R语言 R语言学习笔记--入门篇:第一章-R语言介绍 文章目录 R语言 一.R语言简介 1.1.R语言的应用方向 1.2.R语言的特点 二.R软件的安装 2.1.Windows/Mac 2.2.Lin ...
- R语言学习笔记——入门篇:第三章-图形初阶
R语言 R语言学习笔记--入门篇:第三章-图形初阶 文章目录 R语言 一.使用图形 1.1.基础绘图函数:plot( ) 1.2.图形控制函数:dev( ) 补充--直方图函数:hist( ) 补充- ...
- R语言 基础统计学之样本量计算
#R语言 基础统计学之样本量计算 以下介绍基础统计学关于样本量计算的问题,主要解决实际问题中在已知一些统计特征下,计算所必要的样本量,共有三种方式:总体方差已知时,总体方差未知时 ,估计比例为P时的三 ...
- R语言系统教程(七):数据的分布(含多种图的绘制)
R语言系统教程(七):数据的分布 7.1 分布函数 7.2 直方图.经验分布图与QQ图 7.2.1 直方图 7.2.2 核密度估计函数 7.2.3 经验分布 7.2.4 QQ图 7.3 茎叶图.箱线图 ...
- 一元线性回归分析的R语言实现(RStudio)
简介 回归分析是一种应用广泛的数理统计方法,它是研究变量与变量之间的相关关系,这种关系大致分为两类:确定性关系(能用函数精确描述)和非确定性关系(不能用函数描述). 变量间的非确定性关系称为相关关系. ...
- 从简单的一元线性回归分析入门机器学习
什么是回归分析 回归分析(regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法.运用十分广泛,回归分析按照涉及的变量的多少,分为一元回归和多元回归分析 ...
最新文章
- access mysql字段对应_ACCESS数据库中表与字段名称修改
- android呼吸灯动画,Android高德地图自定义定位蓝点实现呼吸灯功能
- PHP学习方向-进阶(二)
- chm 能插入公式吗_批量提取表格名称、插入空列,教你三下五除二秒速完成!...
- Numpy 新手教程(2)
- day32 java 多线程(3)了解篇
- linux之Ansible快速入门
- 很实用的一个ext表格,具有很好的分页功能。
- [转]在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
- 人力资源管理书籍排行榜,HR必读的十本书推荐
- 通信加密原理(对称密钥、公钥、私钥)
- 入门DP教程(超详细)
- linux中pingpong测试程序的解读
- 全面反攻,不给割肉者任何机会
- 小程序京东首页底部导航栏代码
- 禅道-使用禅道来进行项目任务管理
- 淘宝详情页排版布局怎么做?大神导航,一个神奇的网站,从此开启大神之路!
- SQL审核 | SQLE 二次开发环境搭建
- 现在电脑有必要安装360或者腾讯电脑管家吗?
- 【高项】第14章 信息文档管理与配置管理
热门文章
- 【xlwings api语言参考】Range.Consolidate 方法
- 世界500强是如何解决千亿流量留存问题的,《Ceph分布式存储架构》-使用CentOS 7部署 Ceph分布式存储架构-为他们解决什么问题。
- 程序员必备 常用英语单词
- 程序员必须掌握的600个英语单词
- Python读书笔记-每日篇-20190221|激活码生成器(mysql存储)
- Android面试问题整理
- python列表写入txt文件_Python:将 list 写入一个 txt 文件
- 自然语言处理作业A1
- baiduMap试手《办理进京证和市区警察查询进京证的地址浏览》
- 联想启天m410进bios_联想启天m410电脑U盘重装win10系统教程