【发布时间】:2020-10-14 02:07:01
【问题描述】:
我有一个数据框,我为其构建了一个热图,如下所示:
df <- data.frame("CELL1" = c(0.7,0.7,0.5 ),
"CELL2" = c(1, 0.4, 0.3),
"CELL3" = c(0.7, 0.73, 0.61))
#set rownames
rownames(df) <- c("GENE1", "GENE2", "GENE3")
#plot
heatmap.2(as.matrix(df), scale = "column",Rowv=TRUE, Colv=TRUE,
trace = "none", distfun = dist,
hclustfun = hclust,
margins=c(20,20))
我想更改此热图,以便每个图块的大小基于另一个数据框中的数字,具有相同的列和行名,但值不同。这样,基因 1-cell1 将有一个大图块,而基因 1、cell2 将有一个较小的图块。如下图:
#Create df
df2 <- data.frame("CELL1" = c(183,2,19 ),
"CELL2" = c(24, 1.8, 11.1),
"CELL3" = c(18.9, 3.3, 22.9))
rownames(df2) <- c("GENE1", "GENE2", "GENE3")
> df2
CELL1 CELL2 CELL3
GENE1 183 24.0 18.9
GENE2 2 1.8 3.3
GENE3 19 11.1 22.9
我该怎么做?这甚至可能吗?任何帮助表示赞赏!
【问题讨论】:
标签: r dataframe ggplot2 heatmap