我有以下数据框:
library(pheatmap)
library(RColorBrewer)
dat <- structure(c(36.28516213, -9.184523335, 5.716034994, 32.82180488,
-18.5467127, 22.79930301, -24.79075287, -49.23768715), .Dim = c(2L,
4L), .Dimnames = list(c("motif_a", "motif_b"), c("cow", "dog",
"snake", "cat")))
dat
#> cow dog snake cat
#> motif_a 36.285162 5.716035 -18.54671 -24.79075
#> motif_b -9.184523 32.821805 22.79930 -49.23769
并使用以下热图代码:
p <- pheatmap(
dat,
color = colorRampPalette(rev(RColorBrewer::brewer.pal(n = 7, name = "RdYlBu")))(1000),
clustering_method = "ward.D2",
border_color = "grey60",
clustering_distance_columns = "correlation",
clustering_distance_rows = "correlation",
fontsize_row = 6,
cluster_rows = TRUE,
cluster_cols = TRUE,
scale = "row"
)
我可以得到这个情节。
正如图中所述,如何将热图中的每个点对应的值转换为右侧色标。
例如,cow motif_b
具有 value -9.184523
,但右侧色标给出的值介于 0 到 -0.5 之间。我怎样才能得到这些值?
最终结果是一个数据框,其值已转换。我怎样才能做到这一点?