本文章是网友果子的一篇文章的基础上整理出来的。https://www.iikx.com/news/statistics/6104.html
看了那篇文章后,发现原文中的例子不够详细,没有一定基础很难重现,这里重新整理一下。
#########################################################
如何对多个基因进行快速、方便的相关性分析,同时高效地呈现分析结果呢?
作者果子自己实现过下面的效果图。
![](https://img.haomeiwen.com/i23957490/a4b0f31055171ec7.png)
感觉之前做的过程比较麻烦,推荐一个新的R包-corrr ,可以较为方便的实现这一功能。
![](https://img.haomeiwen.com/i23957490/7052805491c72d7a.png)
R插件corrr中的主函数correlate()可以快速实现从A到B的转换。另外该包还有rplot()可以画热图,network_plot()可以画网络图。
corrr包除了主函数correlate()外,还有其余7个函数。
![](https://img.haomeiwen.com/i23957490/96d08696f43d3668.png)
(1)shave函数可以将矩阵中的上三角或者下三角区域设为NA
![](https://img.haomeiwen.com/i23957490/ee74a322a37f57bb.png)
(2)rearrange函数对矩阵中的数据进行排序
![](https://img.haomeiwen.com/i23957490/da9dcf2da51ab2a6.png)
(3)focus函数,类似于select函数,可以用来筛选想要查看的某行某列数据。后面会有具体的操作
![](https://img.haomeiwen.com/i23957490/4e6225411369ff7e.png)
![](https://img.haomeiwen.com/i23957490/518e3c9bbef390e5.png)
(4)stretch函数可以实现数据从宽变长
![](https://img.haomeiwen.com/i23957490/8b41252c8cc87d49.png)
(5)fashion可以简洁化展示数据,去掉NA。
![](https://img.haomeiwen.com/i23957490/ed1b09feee250bac.png)
(6)rplot()主要用于画热力学图
![](https://img.haomeiwen.com/i23957490/8e36e65cc7bae25f.png)
(7)network_plot()可以画网络图
![](https://img.haomeiwen.com/i23957490/23253324800e6372.png)
原文中用了管道流:%>%。在使用代码过程中,发现了提示信息,这个红红的信息,让初学者肯定怀疑这个过程有问题?结果是否正确呢?每个函数到底该咋用呢?下面来,咱一步一步往前走。
这里的管道流"%>%"来自dplyr包的管道函数,其效果是将%>%左边的对象传递给右边的函数,作为第一个选项的设置。如 x<-datasets::mtcarts %>% correlate()。意思是先将数据集datasets::mtcarts赋值给x,然后再将x传递给correlate(),即correlate(x)。
![](https://img.haomeiwen.com/i23957490/8a7b36d97882f759.png)
#####对上面一步成的代码开始分解工作#####
先安装corrr
>options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
>install.packages("corrr")
>library(corrr)
>library(dplyr)
等效于下面的代码
![](https://img.haomeiwen.com/i23957490/37ce49553188c925.png)
为啥我用了x1到x6?这样可以保留中间的处理过程与处理结果,为了方便查看命令的执行结果。方便咱们弄懂弄通做实。
一步一步执行后,发现出现提示信息的地方是第2步。其余代码执行正常。具体原因我也没闹明白,欢迎弄明白的朋友留言。
![](https://img.haomeiwen.com/i23957490/05453820325c36b6.png)
然后一一查看代码执行结果
![](https://img.haomeiwen.com/i23957490/1d2cef9ccd57d41b.png)
x2变成了(mpg,cyl,disp等参数)相关性矩阵
![](https://img.haomeiwen.com/i23957490/1079ddfbbbc62373.png)
x3是对x2矩阵中的数据进行了选择,去除了cyl和vs的数据。
![](https://img.haomeiwen.com/i23957490/cae4e0c428f58f7b.png)
x4是对x3的矩阵数据进行了排序。
![](https://img.haomeiwen.com/i23957490/11ce398f8551e993.png)
x5是将x4中上三角的数据变成了NA
![](https://img.haomeiwen.com/i23957490/981aa782cd88cd17.png)
x6是将x5中的NA去除了,并对数据进行了简化。画热力图时用x5可以画出,但用x6画不出来。
![](https://img.haomeiwen.com/i23957490/ea10916e82cfde77.png)
![](https://img.haomeiwen.com/i23957490/654847879469f2b7.png)
![](https://img.haomeiwen.com/i23957490/4b696c076ae6cdd7.png)
![](https://img.haomeiwen.com/i23957490/5b0d91952d0eefd5.png)
网友评论