当前位置: 首页 > news >正文

R语言作图——热图聚类及其聚类结果输出

代码

不多说了,做个记录,代码如下。

library(pheatmap)
library(RColorBrewer)
# args = commandArgs(TRUE)
betafile = "twist_common_panel_434.csv"
infofile = "twist_common_panel_434.txt"
title = "twist_common_panel"
# readbeta <- function(data){
#   dat <- read.table(data, header = T,stringsAsFactors = F)
#   dat$pos <- paste(dat$chr, dat$start, sep = "_")
#   dat$chr = dat$start = NULL
#   rownames(dat) <- dat$pos
#   dat$pos <- NULL
#   dat
# }
# d <- readbeta(betafile)
# d<-read.table(betafile,header=T,stringsAsFactors=FALSE,row.names = 1)
# d <- as.matrix(t(d))
d <- read.csv(betafile, row.names = 1)
info <- read.table(infofile,header = F,sep = "\t")
colnames(info) <- c("id","group")
rownames(info) <- info$id
# table(rownames(d) == info$id)
#排序
loc = match(rownames(d), rownames(info))
dd <- d[loc,]
col_anno <- as.data.frame(info[,2])
rownames(col_anno) <- rownames(info)
colnames(col_anno) <- 'group'
tiff(paste0(title,".tif"),width = 2000,height = 1500)
pheatmap(dd,# cellwidth = 45,# cellheight = 12,fontsize = 18,# border = 'white',cluster_rows = F,cluster_cols = F,# annotation_col = col_anno,annotation_row = col_anno,angle_col = "0",main = paste0(title, " pheatmap"))
dev.off()result <- pheatmap(dd,# cellwidth = 45,# cellheight = 12,fontsize = 18,# border = 'white',cluster_rows = T,cluster_cols = T,# annotation_col = col_anno,annotation_row = col_anno,angle_col = "0",main = paste0(title, " pheatmap"))
col_oder=result$tree_col$order # 保存热图列顺序(序号)
row_oder=result$tree_row$order # 保存热图行顺序(序号)
cn_new <- colnames(dd)[col_oder] # 保存热图的列名
rn_new <- rownames(dd)[row_oder] # 保存热图的行名## 生成两个新的与原来的总表长宽相同的数据框(暂时都填写0)
new_dd <- matrix(rep(0,ncol(dd)*nrow(dd)),nrow = nrow(dd),ncol = ncol(dd))
out <- matrix(rep(0,ncol(dd)*nrow(dd)),nrow = nrow(dd),ncol = ncol(dd))## 将数据读入数据框new_dd,行顺序已经按照热图的顺序重排
for (i in 1:ncol(dd)){new_dd[,i]=dd[,i][row_oder]
}
## 将数据读入数据框out,列顺序已经进一步按照热图的顺序重排
for (i in 1:ncol(dd)){out[,i]= new_dd[,col_oder[ i ]]
}
# 将热图的行名和列名导入到排序后的表达量总表中
rownames(out)=rn_new
colnames(out)=cn_newwrite.table(out,"twist大panel聚类.txt",sep="\t",quote = F) #输出重排后的表达量表
http://www.lryc.cn/news/92072.html

相关文章:

  • Tomcat优化
  • 我的GIT练习TWO
  • 个人器件库整理
  • javascript——内存管理
  • Qt5.15.2安卓Android项目开发环境配置
  • 第四十三章 弹跳训练2(灵识扫描)
  • 【location对象的方法,history对象,navigator--BOM】
  • 论文笔记:Normalizing Flows for Probabilistic Modeling and Inference
  • java 异常类介绍
  • shiro 550 反序列化rce
  • 【C++】---模板初阶(超详练气篇)
  • windows系统典型漏洞分析
  • WPF开发txt阅读器:需求分析和文件读写
  • C++服务器框架开发9——日志系统LogFormatter_4/各个类的关系梳理/std::function/std::get
  • arm平台上的MNN编译与运行
  • python 编译安装指定版本 for linux
  • 在Linux系统下基于Docker搭建Redis集群
  • 牛客网刷题Day5
  • Vue.js 中的动态组件是什么?如何使用动态组件?
  • 2023年京东618预售数据:传统滋补成预售黑马,预售额超27亿
  • 【Linux系统基础快速入门详解】Linux 常用文件过滤编辑命令原理详解和每个命令使用场景以及实例
  • 05WEB系统的通信原理图
  • 降低试错成本,低代码或成企业数字化转型突破口
  • 串口助手(串口发送接收数据, 定时, 清空, hex显示)
  • bp神经网络
  • strace交叉编译后对特定文件的写流程进行监控和过滤
  • 初识网络之TCP网络套接字
  • 自然语言处理从入门到应用——自然语言处理的基本问题:文本分类(Text Classification, Text Categorization)
  • 【论文】——Robust High-Resolution Video Matting with Temporal Guidance浅读
  • 第四章、用户体验五要素之范围层解析(本文作用是通俗讲解,让你更容易理解)