本文章是網(wǎng)友果子的一篇文章的基礎(chǔ)上整理出來(lái)的。https://www.iikx.com/news/statistics/6104.html
看了那篇文章后,發(fā)現(xiàn)原文中的例子不夠詳細(xì),沒(méi)有一定基礎(chǔ)很難重現(xiàn),這里重新整理一下。
#########################################################
如何對(duì)多個(gè)基因進(jìn)行快速、方便的相關(guān)性分析,同時(shí)高效地呈現(xiàn)分析結(jié)果呢?
作者果子自己實(shí)現(xiàn)過(guò)下面的效果圖。

感覺(jué)之前做的過(guò)程比較麻煩,推薦一個(gè)新的R包-corrr ,可以較為方便的實(shí)現(xiàn)這一功能。

R插件corrr中的主函數(shù)correlate()可以快速實(shí)現(xiàn)從A到B的轉(zhuǎn)換。另外該包還有rplot()可以畫(huà)熱圖,network_plot()可以畫(huà)網(wǎng)絡(luò)圖。
corrr包除了主函數(shù)correlate()外,還有其余7個(gè)函數(shù)。

(1)shave函數(shù)可以將矩陣中的上三角或者下三角區(qū)域設(shè)為NA

(2)rearrange函數(shù)對(duì)矩陣中的數(shù)據(jù)進(jìn)行排序

(3)focus函數(shù),類似于select函數(shù),可以用來(lái)篩選想要查看的某行某列數(shù)據(jù)。后面會(huì)有具體的操作


(4)stretch函數(shù)可以實(shí)現(xiàn)數(shù)據(jù)從寬變長(zhǎng)

(5)fashion可以簡(jiǎn)潔化展示數(shù)據(jù),去掉NA。

(6)rplot()主要用于畫(huà)熱力學(xué)圖

(7)network_plot()可以畫(huà)網(wǎng)絡(luò)圖

原文中用了管道流:%>%。在使用代碼過(guò)程中,發(fā)現(xiàn)了提示信息,這個(gè)紅紅的信息,讓初學(xué)者肯定懷疑這個(gè)過(guò)程有問(wèn)題?結(jié)果是否正確呢?每個(gè)函數(shù)到底該咋用呢?下面來(lái),咱一步一步往前走。
這里的管道流"%>%"來(lái)自dplyr包的管道函數(shù),其效果是將%>%左邊的對(duì)象傳遞給右邊的函數(shù),作為第一個(gè)選項(xiàng)的設(shè)置。如 x<-datasets::mtcarts %>% correlate()。意思是先將數(shù)據(jù)集datasets::mtcarts賦值給x,然后再將x傳遞給correlate(),即correlate(x)。

#####對(duì)上面一步成的代碼開(kāi)始分解工作#####
先安裝corrr
>options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
>install.packages("corrr")
>library(corrr)
>library(dplyr)
等效于下面的代碼

為啥我用了x1到x6?這樣可以保留中間的處理過(guò)程與處理結(jié)果,為了方便查看命令的執(zhí)行結(jié)果。方便咱們弄懂弄通做實(shí)。
一步一步執(zhí)行后,發(fā)現(xiàn)出現(xiàn)提示信息的地方是第2步。其余代碼執(zhí)行正常。具體原因我也沒(méi)鬧明白,歡迎弄明白的朋友留言。

然后一一查看代碼執(zhí)行結(jié)果

x2變成了(mpg,cyl,disp等參數(shù))相關(guān)性矩陣

x3是對(duì)x2矩陣中的數(shù)據(jù)進(jìn)行了選擇,去除了cyl和vs的數(shù)據(jù)。

x4是對(duì)x3的矩陣數(shù)據(jù)進(jìn)行了排序。

x5是將x4中上三角的數(shù)據(jù)變成了NA

x6是將x5中的NA去除了,并對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)化。畫(huà)熱力圖時(shí)用x5可以畫(huà)出,但用x6畫(huà)不出來(lái)。



