當前位置:
首頁 > 最新 > 最簡單最實用的R語言熱圖繪製教程

最簡單最實用的R語言熱圖繪製教程

從R語言介紹與安裝,再到出一個能看的熱圖

前面用Excel繪製熱圖,在熟練的情況下,操作起來其實還是比較快速和方便的,尤其對於具有代碼恐懼症的朋友。教程發出去之後,即有收到消息,希望能寫一個用R語言繪製熱圖的教程。考慮到目前本人的時間和精力以及」生信札記」公眾號其實關注的人不多,我即應下,Excel繪製熱圖的推文閱讀量超過500,我就寫一個用R語言繪製熱圖的。然後….確實超過500了,那麼也不爽約,動手寫寫。

?如何寫一個實用的,簡單的用R語言繪製熱圖的教程?我想這篇推文得從零基礎的角度出發,從偏頗的R語言的介紹與安裝開始。

簡單介紹R語言

關於R語言,真的要了解他是什麼,權威的答案google即可。這裡只說我個人有偏頗的觀點,重點在說清楚他是什麼東西。R語言,從其名字來看,其是一門編程語言,也就是語言。語言就有其語法,跟我們學的外語如英語的語法是一個概念。幾乎每一門編程語言都需要編譯器或與解釋器,這兩個器的主要作用就是,把我們按照某種編程語言如R語言的語法寫出來的語句,翻譯成計算機能識別的代碼或並執行這些代碼並返回結果。

為什麼是R語言

計算機繪圖或者出圖,到底就是和,後者最終也是點。GUI軟體更或者是Excel等出圖軟體的操作界面實質是,將看似複雜的繪圖代碼隱藏起來,就如我們手上的智能手機如,幾乎所有人都可以直接上手使用,而不需要了解到底開機關機,打開等的具體硬體或者編程語言或代碼實現。

編程語言有很多,目前也有較多的語言是支持出圖的。而目前在我所了解的生信數據出圖上,最常見的就是

R語言,前身是S語言,是一門統計學家發明的語言,所以事實上其天生善於完成統計運算,內置了太多統計相關函數,如t.test()。而生物學研究,在現在每時每刻都產生大量數據的時間點上,從數據中抽取出信息,生物學研究比以往任何時候更依賴於統計(因為….數據太多,根本看不多來,正確的統計分析至少可以簡化)。當然,可視化也是重點,對數據涵蓋的信息進行可視化,我們甚至使用生物學家特有的直覺,用我們自己專業的視角去觀察數據。對此,R正好兩者都擅長或者現在都擅長。

R語言,其實存在不少人包括我,覺得他其實並不太像一門編程語言。但是這並沒有所謂,我個人認可的有偏頗的觀點是:一門編程語言的流行,要麼其設計優秀,要麼具有穩定而活躍的社區。設計優秀與社區活躍可以是相輔相成,但事實上只要有活躍的社區,設計是否優秀可能暫時並沒那麼重要。為此引入一句,。

R語言,就是一個龐大的帝國,他其實是一個全家桶,封裝了各種,也調用了各種,包括了Java碼,C碼,C++碼等等。對R語言的基本使用,其實就是用所謂的 R 包 (R package)。每一個R包的作者會把有用或者自己覺得有用的其寫的函數更或者對象封裝起來,最後,

對於我們使用者而言,就只要下載安裝R包,然後準備數據和輸入函數,得到結果

這一個簡單到幾乎所有人x3(重複三遍的意思)都會用,也非常適合完全沒有計算機基礎的生物學研究工作者。

無論如何,反正用R就對了,R語言現在很火,即使他隱藏的複雜統計模型的同時,也隱藏了各式各樣的問題與坑。

進入正題安裝R語言的運行環境(解釋器)

在windows下安裝R語言運行環境,是一件再簡單不過的事情(在LInux和Mac上也是類似)。進入R語言的官網主頁,https://cran.r-project.org/,即可看到R語言環境的下載,根據自己的系統進行選擇,點擊跳轉

這裡默認使用的是一台完全沒有安裝過的R語言環境的電腦

如此,等待下載完畢之後,進行安裝。安裝R語言環境。一般改選為English,畢竟是外文開發的,中文的提示有時看起來很怪。然而當然也是用的中文。

隨後建議一路默認,同樣注意,

建議程序都安裝在路徑沒有空格沒有中文的目錄下,如果這一行看不懂,那就不管了,默認先

最後,可以在桌面看到R語言運行環境的圖標,現在需要做的是,雙擊打開它,並進入R的GUI運行環境(提示,當然有其他運行方式,如腳本運行,這裡先不扯)

進來之後,那就開干。

安裝R語言繪製熱圖最簡單的R包(pheatmap)

最基本R語言使用,其實就是,而這些函數,要麼是內置的,要麼是別人寫好並封裝成R包的。

進行熱圖繪製,最方便的R包,莫過於。

所以,第一步,安裝這個R包

在保證網路暢通的情況下,輸入

可能會彈出窗口,讓選擇鏡像,選擇一個距離自己近的地方,這樣下載起來會快很多

如果出現下面這種提示,似乎是不用理會,一路確定或者下一步即可

完成安裝之後,直接輸入,如果發現沒有任何提示,那麼就是安裝完成了

使用pheatmap進行熱圖繪製

準備數據,最簡單粗暴的方式,,

此時,這個基因表達矩陣已經存放在電腦的剪切板中,回到R語言運行環境,輸入(如果是直接複製下面這行代碼,那麼注意,複製代碼的同時已經替換了剪貼板內容,此時黏貼代碼之後不要回車,先回去Excel重新複製表達開矩陣)

注意,所有字元都是外文的,如果出錯,注意是不是 橫杆 在複製代碼的時候被轉碼成 中文的,自己輸入就沒問題。

此時你只需要第三行代碼,就可以輸出一張可以看的熱圖

一般情況下,我們需要相對基因進行標準化

列的順序是時間序列,我們不應該對列進行聚類

配色似乎也不好看,

差不多了,剩下的就看自己造化了

差點忘了保存圖片

即可保存為各種格式的圖片

寫到這裡

用了一個多小時寫了這個,相信應該可以讓零基礎的朋友用R語言出一張能看的熱圖。的功能還是可以的,出幾個不錯的熱圖,有很多細節可以調整。操作的靈活,修改的便捷,可能才是用代碼繪圖的方便之處。用R語言繪圖,那麼基礎就是掌握R語言。如此才能更好的R,出更好看的圖。

學習R語言,還是需要時間的。具體或許後面再寫寫R學習的個人經驗。

當然,假期已經結束了,今天就回校干課題了。如果後面可以抽出時間,那麼R語言繪製熱圖的,或許至少再出一個 pheatmap 更多的使用細節。畢竟,做一張拿得出手的熱圖,還是需要更多的操作。

最後附上使用的代碼

參與討論交流

掃碼添加我的個人微信,如果以上二維碼過期了的話,有問題請直接在微信群聊中交流

如果要直接向我提問,那麼請掃碼加入我的 知識星球,發帖交流,生信相關,TBtools相關的學習討論沉澱

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 生信札記 的精彩文章:

TAG:生信札記 |