Как преобразовать числа в формате ‘e’ для построения тепловой карты

#r #ggplot2 #heatmap

#r #ggplot2 #тепловая карта

Вопрос:

Я пытаюсь создать тепловую карту из матрицы данных A.

Вывод из dput()

 structure(c(0.00770980703597275, -7.12796126152078e-05, 0.0724376220577931, 0.455109944735237, 0.290854227402422, 0.197017216743111), .Dim = 3:2, .Dimnames = list(
c("GENE1", "GENE2", "GENE3"), c("Day0", "Day1")))
 

Однако ввод матрицы через этот код тепловой карты приводит к ошибке.

 heatmap(DM, scale="column", cexRow=1.5,
    labRow=paste(rownames(DM),sep=""),
    col= colorRampPalette(brewer.pal(8, "Blues"))(25))
 

введите описание изображения здесь

Ген 3 должен быть ниже в День0 и увеличиваться в День1, однако, поскольку числа имеют формат ‘e’ (7.243762e-02), это сбивает с толку heatmap .

Как я могу преобразовать числа матрицы данных в формат, который более совместим с heatmap ?

Я пытался играть с formatC этим, но не очень повезло.

Ответ №1:

Это скорее из-за вашего scale="column" — значения перецентрируются внутри столбца (т. Е. День), Поэтому вы можете видеть разницу между выборками, но не между днями.

Комментарии:

1. Да, это должно быть заменено на scale = "none" . Возможно, лучше включить это в ответ здесь.