R语言 | 学习笔记汇总(2019.09-2020-08)

Posted 生物空间站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言 | 学习笔记汇总(2019.09-2020-08)相关的知识,希望对你有一定的参考价值。

小白鱼学习笔记汇总(2019.09-2020-08)
R语言 | 学习笔记汇总(2019.09-2020-08)
这是过去近一年( 2019.09-2020-08 ),小白鱼公众号所有技术类推文的汇总。
小白鱼公众号创建于 2019 9 月中旬,其实现在离一周年还差 1 个月。但是实在是来不及等到 9 月份了,就当是个“伪周年纪念”吧 …… 尽管如此,这也是辛辛苦苦肝了 11 个月的成果,就内容上来看也算是有点模样了。白鱼同学读研的时候接触了微生物群落数据分析,所以略懂生态环境统计,以及 R 语言和微生物组分析等方法,因此小白鱼公众号里面的大多数内容都是在这基础上的小总结。起初的计划是写一些关于统计检验、降维、聚类、相关性分析、网络分析、回归建模,外带一些常见统计图绘制的技术类推文,到目前大致上也整理完第一期工程了。
不不,不是说统计或作图方法就这些,这些还远远不止。白鱼同学只是结合自己的生物学数据分析经验简单总结了一些比较常见的方法。哦哦,与其说总结,其实也大多是搬运 …… 很多也是来自某些大佬的著作,白鱼同学更多情况下就是做做翻译、多篇资料的整合删减、 R 代码的修改之类的苦劳,并在学习中再添加一些个人的领悟。总之,更重要的其实是给自己作笔记记录,希望目前所领悟的对将来的自己有所帮助。当然这里面也有不少问题,有的发现了也没再改,大多数都是抱着自己知道就行了也就懒得改了 …… 同学们翻看时多加思考便是。
第二期写作工程就是今年 9 月到明年 9 月,一年一期,不过第二期先准备搁置半年 …… 白鱼同学准备明年年初的考博事宜,所以在这篇汇总贴搞定后,要开始闭关半年。不过也不是完全的闭关,偶尔可能也会诈个尸,发个小作图的 R 代码之类的,但频率肯定很低了。这也是为什么白鱼同学无法等到下个月凑够公众号开通 1 周内再总结目录的原因,到目前为止写公众号花的时间实在太多,得赶紧回到主线任务上来,看书看文献准备计划云云。毕竟目前是社畜一枚,早已不是在校学生,白天要上班没有充分看书看文献,晚上头昏脑胀也得硬撑着学习,再在支线公众号上注入更多时间就真的得不偿失。
 

--------------------------------------------分割线,接正文R语言 | 学习笔记汇总(2019.09-2020-08) --------------------------------------------

 

所有的历史文档,均在GitHub中存储过备份,若相关推文中的百度盘失效可在该备份中查找对应时间的资料:

https://github.com/lyao222lll/sheng-xin-xiao-bai-yu         

     

常见统计图绘制

  

该部分主要以R语言绘制常见的科研图表为主,如柱形图、箱线图、饼图、散点图、折线图等

个别用到了其它工具或者在线网站,主要对于一些不规则图形,如网络图等,R语言自由度太低很难调整,此时个人不喜好用R

 

柱形图:            

箱线图:        

饼图:                

散点图:            

折线或曲线图:            

集合可视化:                

相关图:

三元相图:

面积图:

雷达图:

圈图:            

树形图:            

网络和流:    

                 

illustrator作图:    

    

假设检验

  

关于数值比较的展现方式


柱形图、箱线图、散点图、折线图等等样式均是文献中常出现的样式,需要时可参考上文“常见统计图绘制”中的方法

此外,还有很多多变量分析以表格作为呈现,这些在具体的文献阅读时领会即可   


数据预处理


   


常见的参数检验类型


简介两种, t 检验和方差分析( ANOVA

两组比较:

两组混合效应:配对t检验

两组多元响应:

多组单因素比较:

多组协方差比较:

多组双因素比较:

多组混合效应:

多组多元响应:   


常见的非参数检验类型


在参数检验的假设条件(如正态性等)无法满足的情形下代替 t 检验或方差分析,但统计功效相对较弱

两组单因素比较:

多组单因素比较:/

多组协方差比较:

多组双因素比较:

多组多元响应比较:

   

其它参数检验框架


方差分析本质上是广义线性模型(GLM)的一种特殊形式,自变量为类别变量而响应变量为正态响应数值变量时的广义线性模型。因此,更多类型的广义线性模型子类也可拓展为差异检验来使用,其可以涵括更多类型的响应变量形式(不局限正态响应),并允许有序组别的比较,有关广义广义线性模型详见下文“回归与建模 -> 广义线性模型”

  

其它类型的非参数检验框架


这两种方法几乎是“万能的”,很多生物学数据的特征难以形容,难以选择合适的参数检验方法,故基于随机置换或重抽样的思想被广泛采用

  

标记显著性


    

高维数据的降维分析


关于数据降维的可视化方式


通常以投影到二维平面或三维空间中的散点图表示,可参考上文“常见统计图绘制 -> 散点图”   


相似性或距离测度


        ↑包括Jaccard相似性/相异度、Sørensen相似性/相异度、Simpson相似性/相异度、欧式距离、弦距离、Hellinger距离、卡方距离、Bray-curtis距离、Unifrac距离等,这些相似度或距离测度是对多变量数据矩阵进行降维的大多数方法的基础

   

因子分析


   

非约束排序


单矩阵特征的描述性统计方法,包括基于特征分解的降维方法(PCACA等)和基于距离的降维方法(PCoANMDS等)

 

(普通PCA

(特别是群落物种PCA中常见Hellinger转化,缓解PCA的马蹄形效应)

(处理同时包含数值和分类变量)

(处理缺失值)

 

(普通CA

(消除CA的弓形效应)

(处理分类变量)

(处理缺失值)

 

 

 

非约束排序中的被动投影


   

约束排序


或称典范排序,两个或多个矩阵的回归模型或相关性分析


,多元线性回归(MLR)和非约束排序(PCACAPCoA等)的结合,群落分析中的经典方法

 

基于降维思想的监督分类,代表类型如判别分析(DA),详见下文“聚类和分类 -> 带监督的分类”部分

 

对称分析,两个矩阵之间无解释和被解释的关系,这类方法意在描述两个或多个矩阵之间的相关性,详见下文“相关性分析 -> 矩阵相关”

    

聚类和分类

    

无监督的聚类方法


单矩阵特征的描述性统计方法

  

关于聚类树的绘制

        只有层次聚类方法能够绘制聚类树,可参考上文“常见统计图绘制 -> 树形图”

划分聚类无法绘制聚类树,因其无层级关系,但可以结合降维思想绘制散点图表示

 

层次聚类

,“自底向上”的聚合策略,包括单连接聚合聚类(单联动)、完全连接聚合聚类(全联动)、平均聚合聚类(UPGMAUPGMCWPGMAWPGMC)、Ward最小方差聚类、灵活聚类等方法

,层次分划的一种,“自顶向下”的分拆策略

 

划分聚类

 

模糊聚类

 

潜变量分类,潜结构分析,潜变量也可视为某种意义上的“降维”

(处理数值变量)

(处理分类变量)

   

带监督的聚类方法


即监督分类,通过已知先验分组构建分类器模型。本质上是两个或多个矩阵的回归分析,其中响应变量矩阵是类别型响应变量

监督分类中涉及了很多广为熟知的机器学习方法

 

(一种应用于类别型响应变量的广义线性模型)

 

回归树的分类

 

 

,一种结合降维思想的分类器

↑包括、混合判别分析(MDA)、弹性判别分析(FDA)、正则化判别分析(RDA)等

        

 

分类器模型优度评估

    

相关性分析

    

变量相关


        ↑包括Pearson(数值变量的数值相关)、Spearman(数值变量的秩相关)、Kendall(分类变量的秩相关)、PolychoricTetrachoric(有序类别变量间的相关)、PolyserialBiserial(数值变量和有序类别变量的相关)等相关系数

   

矩阵相关


基于距离的相关性分析,或者多变量的降维思想是探讨矩阵相关性的核心

        

(一种图形相似性方法)

    

(三矩阵的关联方法)

    

网络分析

    

关于网络图可视化方法


CytoscapeGephiR语言等,一些作图示例可见上文“常见统计图绘制 -> 网络和流”   


网络基础概念、节点和边特征


↑包括网络基本结构、有向图和无向图、节点和边属性、网络数据文件邻接列表、边列表和邻接矩阵等

 

↑包括节点的度(Degree)、加权度(Weighted degree)、接近中心性(Closeness centrality)、介数中心性(Betweenness centrality)、特征向量中心性(Eigenvector centrality);边的权重(Weighted)、边介数中心性(Edge betweenness centrality)等

 

↑包括网络形状结构、子图和团、二元组和三元组、网络连通性、平均度(Average degree)和平均加权度(Average weighted degree)、距离(Distance)和网络直径(Diameter)、图密度(Density)、聚类系数(clustering coefficient)、图分割(graph partitioning)和模块度(Modularity)、同配混合(assortative mixing)、互惠性(reciprocity)等

   

关联网络推断


,主要应用于微生物互作网络、基因共表达网络的构建

(数据库方法常用在基因、蛋白网络的互作预测中)


随机网络及其应用


在网络凝聚性评估比较和网络建模中常需用到随机模拟

    

  

网络差异比较


   

网络模型


网络建模,常见于社会网络研究中;而微生物或基因网络真实性差,成员属性不明显,很难适用

   

驱动节点识别


    

回归与建模

   

关于响应变量的类型


回归中响应变量可以为数值型也可以为类别型

当响应变量是类别型时,回归执行了带监督的分类功能,详情参考上文“聚类和分类 -> 带监督的分类”部分,下文不再重复展示

以下链接的推文大多数是针对数值型响应变量而言的

   

关于回归曲线的绘制


R语言ggplot2的回归曲线作图示例可见上文“常见统计图绘制”的回归图部分

某些特殊回归图的可视化方式也会在下文多种回归方法的正文中有提及

   

多元回归中需考虑的问题


   

一般线性模型(LM)


即普通最小二乘( OLS )回归法,一类服务于正态响应变量的模型框架

   

广义线性模型(GLM)


是线性模型的一般化形式,一类服务于一组来自指数分布族的响应变量的模型框架


正态型响应变量:(上述LM实际上隶属于GLM的特殊形式)

计数型响应变量:(假定响应变量服从泊松分布)

(假定响应变量服从负二项分布)

类别型响应变量:(假定响应变量服从伯努利分布、二项分布、多项分布)

比例型响应变量:(假定响应变量服从beta分布)

   

常见的非线性模型


   

回归树


   

生存分析


(常见的非参数生存回归类型)

(常见的半参数生存回归类型)

 

一些建立在相似或相异矩阵或降维思想基础的回归


    

   

结构方程(SEM)


(这玩意贼难,实践起来可能会异常费劲……

   

荟萃分析(Meta分析)


     

其它一些额外的东西

  

   

测序基础


   


微生物群落的多样性


 

        其它常见分析,例如PCAPCoAUPGMA这些在Beta多样性分析中的常见用法,参考上文“降维分析”或“聚类分析”等即可,都是重叠的


物种和环境、功能的关联分析

        可参考上文“相关性分析”或“回归与建模”等,都是重叠的

   

差异分析及生物标志物鉴定


总之该部分方法非常多,上文介绍统计分析中提到的很多方法都可以适用。上文提到的就不再列出了,这里再补充一些在微生物组、转录组领域常用的工具或R包等


   

基于16S扩增子的细菌群落功能预测


即根据物种组成预测群落代谢功能,这个其实简单看看就好,别太当真......

   

细菌基因组亚结构注释


 


我就知道你在看

以上是关于R语言 | 学习笔记汇总(2019.09-2020-08)的主要内容,如果未能解决你的问题,请参考以下文章

Python学习笔记汇总

java JDK8 学习笔记——助教学习博客汇总

《Go语言精进之路》读书笔记 | 汇总

《R语言实战·第二版》学习笔记:第一章——R语言介绍

《实习日记》| ​7月21日 R语言学习笔记——tidyr

R语言学习笔记(二十一五):如何如何提升R语言运算的性能以及速度