使用pheatmap()改进R中的热图

使用pheatmap()改进R中的热图,r,dplyr,data-science,heatmap,pheatmap,R,Dplyr,Data Science,Heatmap,Pheatmap,嘿,我是一个完全的R初学者,需要在接下来的几天里尽可能地重现这张热图 我的数据是一个包含多张图纸的xlsx文件,我尽可能地将其清理干净,并且应该是一个良好的格式。我有两个时间点T0和T1作为字符,因此无法运行pheatmap()函数。 如何将热图划分为T0和T1,并以正确的顺序构造样本ID? 您是否知道如何创建与给定示例尽可能相似的热图 这是我在过去两天没有T0和T1数据的情况下制作的热图,因为它们是字符而不是数值。现在,我想包括它们,并按照给定的热图对样本ID进行适当排序 所有数据2Re。

嘿,我是一个完全的R初学者,需要在接下来的几天里尽可能地重现这张热图

我的数据是一个包含多张图纸的xlsx文件,我尽可能地将其清理干净,并且应该是一个良好的格式。我有两个时间点T0和T1作为字符,因此无法运行
pheatmap()
函数。 如何将热图划分为T0和T1,并以正确的顺序构造样本ID? 您是否知道如何创建与给定示例尽可能相似的热图

这是我在过去两天没有T0和T1数据的情况下制作的热图,因为它们是字符而不是数值。现在,我想包括它们,并按照给定的热图对样本ID进行适当排序


所有数据2Re。“T值是字符。”:T字符是真正的逻辑值吗?如果是这样,并且假设您正在从CSV文件读取数据,那么您需要1)在读取时指定列类型,或者2)使用as.logical()更改data.frame中的列类型


Df$mycolumn Hey@doc elfein,当
dput()
函数的输出太大时,可以对数据使用
head()
函数,只提取表的第一行,如下所示:
dput(head(data))
。一个最小的可复制示例的想法是,不要访问您的所有数据,我们只需要复制您的问题所需的数据。您的dput()仍然太大。(以“66.3”开头),因此我们无法复制您的数据
all_data2 <- cbind(amino,sphingo,hexoses,phospha,lyso,all_data)
matrix_data <- as.matrix(all_data2[, 3:73])
rownames(matrix_data) <- all_data2$`Sample Identification`

heatmap_final <- matrix_data[,!colnames(matrix_data) %in% c('Sample Identification.1','Sample Identification.2','Sample Identification')] 


pheatmap(
 mat               = log2(heatmap_final),
 scale             = "column",
 show_rownames     = TRUE,
 drop_levels       = TRUE,
 fontsize          = 5,
 clustering_method = "complete",
 main              = "Hierachical Cluster Analysis"
)



all_data2 <- cbind(amino,sphingo,hexoses,phospha,lysophospha,acyl)
matrix_data <- as.matrix(all_data2[, 3:74])
rownames(matrix_data) <- all_data2$`Sample Identification`

heatmap_final <- matrix_data[,!colnames(matrix_data) %in% c('Sample Identification.1','Sample Identification.2','Sample Identification','Time point.1','Time point.2')]

pheatmap(
  mat = log2(heatmap_final),
  scale = "column",
  show_rownames = TRUE,
  drop_levels = TRUE,
  fontsize = 5,
  clustering_method = "complete",
  main = "Hierachical Cluster Analysis"
)
Df$mycolumn <- as.logical(Df$mycolumn)