使用pheatmap()改进R中的热图
嘿,我是一个完全的R初学者,需要在接下来的几天里尽可能地重现这张热图 我的数据是一个包含多张图纸的xlsx文件,我尽可能地将其清理干净,并且应该是一个良好的格式。我有两个时间点T0和T1作为字符,因此无法运行使用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。
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)