本文章是网友果子的一篇文章的基础上整理出来的。https://www.iikx.com/news/statistics/6104.html
看了那篇文章后,发现原文中的例子不够详细,没有一定基础很难重现,这里重新整理一下。
#########################################################
如何对多个基因进行快速、方便的相关性分析,同时高效地呈现分析结果呢?
作者果子自己实现过下面的效果图。

感觉之前做的过程比较麻烦,推荐一个新的R包-corrr ,可以较为方便的实现这一功能。

R插件corrr中的主函数correlate()可以快速实现从A到B的转换。另外该包还有rplot()可以画热图,network_plot()可以画网络图。
corrr包除了主函数correlate()外,还有其余7个函数。

(1)shave函数可以将矩阵中的上三角或者下三角区域设为NA

(2)rearrange函数对矩阵中的数据进行排序

(3)focus函数,类似于select函数,可以用来筛选想要查看的某行某列数据。后面会有具体的操作


(4)stretch函数可以实现数据从宽变长

(5)fashion可以简洁化展示数据,去掉NA。

(6)rplot()主要用于画热力学图

(7)network_plot()可以画网络图

原文中用了管道流:%>%。在使用代码过程中,发现了提示信息,这个红红的信息,让初学者肯定怀疑这个过程有问题?结果是否正确呢?每个函数到底该咋用呢?下面来,咱一步一步往前走。
这里的管道流"%>%"来自dplyr包的管道函数,其效果是将%>%左边的对象传递给右边的函数,作为第一个选项的设置。如 x<-datasets::mtcarts %>% correlate()。意思是先将数据集datasets::mtcarts赋值给x,然后再将x传递给correlate(),即correlate(x)。

#####对上面一步成的代码开始分解工作#####
先安装corrr
>options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
>install.packages("corrr")
>library(corrr)
>library(dplyr)
等效于下面的代码

为啥我用了x1到x6?这样可以保留中间的处理过程与处理结果,为了方便查看命令的执行结果。方便咱们弄懂弄通做实。
一步一步执行后,发现出现提示信息的地方是第2步。其余代码执行正常。具体原因我也没闹明白,欢迎弄明白的朋友留言。

然后一一查看代码执行结果

x2变成了(mpg,cyl,disp等参数)相关性矩阵

x3是对x2矩阵中的数据进行了选择,去除了cyl和vs的数据。

x4是对x3的矩阵数据进行了排序。

x5是将x4中上三角的数据变成了NA

x6是将x5中的NA去除了,并对数据进行了简化。画热力图时用x5可以画出,但用x6画不出来。




网友评论