日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

r语言绘制精美pcoa图_R语言绘制交互式热图

發布時間:2024/10/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言绘制精美pcoa图_R语言绘制交互式热图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

熱圖

通過熱圖可以簡單地聚合大量數據,并使用一種漸進的色帶來優雅地表現,最終效果一般優于離散點的直接顯示,可以很直觀地展現空間數據的疏密程度或頻率高低。但也由于很直觀,熱圖在數據表現的準確性并不能保證。

原理

生成熱圖需要四個基本步驟,即

創建緩沖區

填充緩沖區

緩沖區灰度疊加

顏色映射

其中顏色映射根據RGB三通道中的色帶中映射后對圖像重新著色,實現熱力圖

交互式熱圖

交互式熱圖繪制,分析數據相關性。

heatmap(熱圖)常用于高維數據的可視化。

數據集中的數據按照矩陣形式,編碼為彩色的網格結構。熱圖常附有樹狀圖。

熱圖應用領域很多,如基因、相關性、缺失值等。

heatmaply包

heatmaply包能夠生成交互式地圖,鼠標懸停可查看數值信息、拖動局部可放大查看。

載入相關包:

通過library函數將所需要的可視化包進行載入

首先分析所需要的相關包,然后進行載入,本項目中所用的包有:

dplyr

purrr

tidyr

tidybayes

ggridges

cowplot

rstan

brms

gganimate

ggplot2

通過library(“packagename”)將以上包挨個完成載入。

其中載入packages——heatmaply包依賴ggplot2包,載入heatmaply之前需裝載相關的依賴包。MacOS在繪制heatmaply時,將自動調用XQuartz插件,如沒有繪制成功,可從官網下載安裝XQuartz。

R是一款開源軟件,先進入官網可以看到官網提供不同的R軟件提供我們下載,我們根據電腦的系統進行選擇,而后鏡像選擇距離我們地域位置最近的地區進行安裝,我們可以看到有很多國家支持R鏡像維護,我們找到CHINA清華鏡像進行下載,進入下載界面進入點擊藍色字體可以下載最新的版本R,額外下載的XQuartz插件已經不再包中提供,我們首先官網中下載XQuartz插件然后進行對應安裝就可以了。

接下來我們通過代碼載入heatmaply包,代碼如下:

> library(ggplot2)

> library("heatmaply")

基礎繪圖

使用heatmaply包默認參數繪制交互式熱圖,代碼如下:

> heatmaply(mtcars)

們的鼠標懸停在矩陣將顯示對應的數值,其中的heatmaply( )函數作用是繪制交互熱圖。使用默認設置、參數

邊距調整:

邊距調整的函數為margins( ),其功能為對邊距進行設置

參數調整代碼如下:

相關性:

使用margins()函數中的參數調整進行繪制相關性,代碼如下:

用顏色限制調用相關性:

其中我們需要補充一個限制函數limits()

limits( ):限制相關性顏色,相關性的顏色設置,其參數為k_col, k_row顏色通過dendextend::color_branches控制

設置顏色也可以用如下代碼進行設置:

> heatmaply_cor(cor(mtcars), margins = c(40, 40), k_col = 2, k_row = 2)

完成修改后的相關性熱圖:

接下來我們要對顏色進行設置,

在做相關性分析時,可以將顏色設置為預設之外的組合,但這種顏色在選擇時需要額外注意,繪制的結果可能對色弱/色盲是不友好的。

載入依賴包RColorBrewer同樣的我們使用library()函數進行載入即可,代碼如下:

完成導入RColorBrewer包與修改參數代碼的相關性熱圖:

完成顏色設置后我們要對其數據進行標準化處理,假定數據均來自正態分布數據集,則標準化(減去均值后除以標準差),將使這些數值范圍限定在相同區間,確保數據并不會由于測量維度差異過大而導致權重偏差、影響結果。此時,這些數值將反映均值到標準差的距離

實現數據預處理標準化,縮放代碼如下:

中的scale參數是對行列進行縮放,在其中我們以column進行縮放,完成熱圖的優化

如果數據集中的維度來自多個觀測樣本,例如收入、年齡,由于收入范圍數值較大,將會產生較大權重,影響最終的結果。使用“標準化”,將數據范圍限定在【0,1】

標準化將數據提升到【0,1】范圍,這將保留每個數據的原始分布狀態,同時將各維度下的數據限定在同樣的權重中。

綜上我們需要進行數據標準化處理操作,代碼如下:

完成標準化數據的可視化熱圖修改:

其中的normalize參數對應著對數據集進行標準化處理

我們發現熱圖中還有存在毛躁處,我們開始考慮對缺失值的審查,heatmaply包提供了對缺失值的審查,代碼如下:

缺失值審查處理完成灰度疊加:

is.na10()用以對缺失值進行審查,grid_gap表示間隔,其中我們間隔賦值為1即可

以上步驟我們便可以實現用R語言繪制交互式熱圖

歡迎大家加入人工智能圈參與交流

人工智能學習圈 - 知乎?www.zhihu.com

總結

以上是生活随笔為你收集整理的r语言绘制精美pcoa图_R语言绘制交互式热图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。