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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

获取pheatmap热图聚类后和标准化后的结果

發布時間:2025/3/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取pheatmap热图聚类后和标准化后的结果 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pheatmap是簡單常用的熱圖繪制包,可以快速、簡單、可定制的繪制漂亮熱圖。具體見R語言學習-熱圖簡化和免費高顏值可定制在線繪圖工具 ImageGP。

現在要解決的一個問題是圖出來了,想看下轉換后用于繪圖的表格,也就是獲取聚類后的矩陣和聚類標準化后的矩陣。

生成測試數據

mat <- matrix(rnorm(30), nrow=5)colnames(mat) <- paste("sample", 1:6, sep="_")rownames(mat) <- paste("gene", 1:5, sep="_")mat

結果如下

## sample_1 sample_2 sample_3 sample_4 sample_5 sample_6 ## gene_1 -0.3286368 0.3153119 -0.7730821 -0.85242874 -0.5303812 0.5088226 ## gene_2 -1.3153020 0.3193550 0.4496518 -1.08782734 1.7620763 -0.9312810 ## gene_3 0.6545161 -0.8220414 -1.1916559 0.04775437 0.2814619 1.8720241 ## gene_4 1.0810986 0.2298092 -0.3615045 0.70162614 1.8572989 0.7250737 ## gene_5 -1.8931573 2.7013864 0.5049798 -0.13541785 -1.7796036 -0.3185864

繪圖

library(pheatmap)# 繪圖同時存儲繪圖結果 (a <- pheatmap(mat, cluster_rows = T, cluster_cols = T))

提取聚類后的原始矩陣

# 查看繪圖數據的結構 # 直接查看會很大,這里只展示其前2層 # str: structure str(a, max.level = 2)# Rstudio中 # View(a)

結果如下

## List of 4 ## $ tree_row:List of 7 ## ..$ merge : int [1:4, 1:2] -1 -4 -2 -5 -3 1 2 3 ## ..$ height : num [1:4] 2.4 3.21 4.38 5.56 ## ..$ order : int [1:5] 5 2 4 1 3 ## ..$ labels : chr [1:5] "gene_1" "gene_2" "gene_3" "gene_4" ... ## ..$ method : chr "complete" ## ..$ call : language hclust(d = d, method = method) ## ..$ dist.method: chr "euclidean" ## ..- attr(*, "class")= chr "hclust" ## $ tree_col:List of 7 ## ..$ merge : int [1:5, 1:2] -1 -6 -2 -5 3 -4 1 -3 2 4 ## ..$ height : num [1:5] 1.98 2.29 2.55 3.78 5.21 ## ..$ order : int [1:6] 2 3 5 6 1 4 ## ..$ labels : chr [1:6] "sample_1" "sample_2" "sample_3" "sample_4" ... ## ..$ method : chr "complete" ## ..$ call : language hclust(d = d, method = method) ## ..$ dist.method: chr "euclidean" ## ..- attr(*, "class")= chr "hclust" ## $ kmeans : logi NA ## $ gtable :List of 6 ## ..$ grobs :List of 6 ## ..$ layout :'data.frame': 6 obs. of 7 variables: ## ..$ widths :List of 6 ## .. ..- attr(*, "class")= chr [1:2] "unit.list" "unit" ## ..$ heights :List of 5 ## .. ..- attr(*, "class")= chr [1:2] "unit.list" "unit" ## ..$ respect : logi FALSE ## ..$ rownames : NULL ## ..- attr(*, "class")= chr [1:4] "gtable" "gTree" "grob" "gDesc" ## - attr(*, "class")= chr "pheatmap"

重新排列行和列

mat_cluster <- mat[a$tree_row$order, a$tree_col$order]mat_cluster

完成提取

## sample_2 sample_3 sample_5 sample_6 sample_1 sample_4 ## gene_5 2.7013864 0.5049798 -1.7796036 -0.3185864 -1.8931573 -0.13541785 ## gene_2 0.3193550 0.4496518 1.7620763 -0.9312810 -1.3153020 -1.08782734 ## gene_4 0.2298092 -0.3615045 1.8572989 0.7250737 1.0810986 0.70162614 ## gene_1 0.3153119 -0.7730821 -0.5303812 0.5088226 -0.3286368 -0.85242874 ## gene_3 -0.8220414 -1.1916559 0.2814619 1.8720241 0.6545161 0.04775437

提取聚類后的標準化矩陣

(a <- pheatmap(mat, scale="row", display_numbers = T))

直接提取不太方便。這可以自己先對數據scale標準化處理,再排序。

mat_scale <- round(t(apply(mat, 1, scale)),2) colnames(mat_scale) <- colnames(mat) mat_scale

最終結果

mat_cluster <- mat_scale[a$tree_row$order, a$tree_col$order]mat_cluster ## sample_2 sample_3 sample_5 sample_6 sample_1 sample_4 ## gene_3 -0.88 -1.22 0.13 1.58 0.47 -0.08 ## gene_4 -0.63 -1.42 1.53 0.03 0.50 -0.01 ## gene_2 0.38 0.49 1.59 -0.67 -0.99 -0.80 ## gene_1 1.04 -0.87 -0.45 1.38 -0.09 -1.01 ## gene_5 1.69 0.39 -0.96 -0.10 -1.03 0.01

R統計和作圖

  • Graphpad,經典繪圖工具初學初探
  • 你的包佩奇了嗎?試試新版Rstudio,自動提醒缺失包!
  • 原來Rstudio還可以這么使用,又方便了一些
  • 在R中贊揚下努力工作的你,獎勵一份CheatShet
  • 別人的電子書,你的電子書,都在bookdown
  • R語言 - 入門環境Rstudio
  • R語言 - 熱圖繪制 (heatmap)
  • R語言 - 基礎概念和矩陣操作
  • R語言 - 熱圖簡化
  • R語言 - 熱圖美化
  • R語言 - 線圖繪制
  • R語言 - 線圖一步法
  • R語言 - 箱線圖(小提琴圖、抖動圖、區域散點圖)
  • R語言 - 箱線圖一步法
  • R語言 - 火山圖
  • R語言 - 富集分析泡泡圖
  • R語言 - 散點圖繪制
  • R語言 - 韋恩圖
  • R語言 - 柱狀圖
  • R語言 - 圖形設置中英字體
  • R語言 - 非參數法生存分析
  • R語言 - 繪制seq logo圖
  • WGCNA分析,簡單全面的最新教程
  • psych +igraph:共表達網絡構建
  • 一文學會網絡分析——Co-occurrence網絡圖在R中的實現
  • 一文看懂PCA主成分分析
  • 富集分析DotPlot,可以服
  • 基因共表達聚類分析和可視化
  • R中1010個熱圖繪制方法
  • 還在用PCA降維?快學學大牛最愛的t-SNE算法吧, 附Python/R代碼
  • 一個函數抓取代謝組學權威數據庫HMDB的所有表格數據
  • 文章用圖的修改和排版
  • network3D: 交互式桑基圖
  • network3D 交互式網絡生成
  • Seq logo 在線繪制工具——Weblogo
  • 生物AI插圖素材獲取和拼裝指導
  • ggplot2高效實用指南 (可視化腳本、工具、套路、配色)
  • 圖像處理R包magick學習筆記
  • SOM基因表達聚類分析初探
  • 利用gganimate可視化全球范圍R-Ladies(R社區性別多樣性組織)發展情況
  • 一分鐘繪制磷脂雙分子層:AI零基礎入門和基本圖形繪制
  • AI科研繪圖(二):模式圖的基本畫法
  • 你知道R中的賦值符號箭頭(<-)和等號(=)的區別嗎?
  • R語言可視化學習筆記之ggridges包
  • 利用ComplexHeatmap繪制熱圖(一)
  • ggplot2學習筆記之圖形排列
  • R包reshape2,輕松實現長、寬數據表格轉換
  • 用R在地圖上繪制網絡圖的三種方法
  • PCA主成分分析實戰和可視化 附R代碼和測試數據
  • iTOL快速繪制顏值最高的進化樹!
  • 12個ggplot2擴展包幫你實現更強大的可視化
  • 編程模板-R語言腳本寫作:最簡單的統計與繪圖,包安裝、命令行參數解析、文件讀取、表格和矢量圖輸出
  • R語言統計入門課程推薦——生物科學中的數據分析Data Analysis for the Life Sciences
  • 數據可視化基本套路總結
  • 你知道R中的賦值符號箭頭<-和等號=的區別嗎?
  • 使用dplyr進行數據操作30例
  • 交集intersect、并集union、找不同setdiff
  • R包reshape2,輕松實現長、寬數據表格轉換
  • 1數據類型(向量、數組、矩陣、 列表和數據框)
  • 2讀寫數據所需的主要函數、與外部環境交互
  • 3數據篩選——提取對象的子集
  • 4向量、矩陣的數學運算
  • 5控制結構
  • 6函數及作用域
  • 7認識循環函數lapply和sapply
  • 8分解數據框split和查看對象str
  • 9模擬—隨機數、抽樣、線性模型
  • 1初識ggplot2繪制幾何對象
  • 2圖層的使用—基礎、加標簽、注釋
  • 3工具箱—誤差線、加權數、展示數據分布
  • 4語法基礎
  • 5通過圖層構建圖像
  • 6標度、軸和圖例
  • 7定位-分面和坐標系
  • 8主題設置、存儲導出
  • 9繪圖需要的數據整理技術
  • 創建屬于自己的調色板
  • 28個實用繪圖包,總有幾個適合你
  • 熱圖繪制
  • R做線性回歸
  • 繪圖相關系數矩陣corrplot
  • 相關矩陣可視化ggcorrplot
  • 繪制交互式圖形recharts
  • 交互式可視化CanvasXpress
  • 聚類分析factoextra
  • LDA分析、作圖及添加置信-ggord
  • 解決散點圖樣品標簽重疊ggrepel
  • 添加P值或顯著性標記ggpubr
  • Alpha多樣性稀釋曲線rarefraction curve
  • 堆疊柱狀圖各成分連線畫法:突出組間變化
  • 沖擊圖展示組間時間序列變化ggalluvial
  • 桑基圖riverplot
  • 微生物環境因子分析ggvegan
  • 五彩進化樹與熱圖更配ggtree
  • 多元回歸樹分析mvpart
  • 隨機森林randomForest 分類Classification 回歸Regression
  • 加權基因共表達網絡分析WGCNA
  • circlize包繪制circos-plot
  • R語言搭建炫酷的線上博客系統
  • 維恩(Venn)圖繪制工具大全 (在線+R包)
  • R包circlize:柱狀圖用膩了?試試好看的弦狀圖

總結

以上是生活随笔為你收集整理的获取pheatmap热图聚类后和标准化后的结果的全部內容,希望文章能夠幫你解決所遇到的問題。

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