Heatmap gruppiert

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
wbart
Beiträge: 89
Registriert: Fr Mär 16, 2018 4:08 pm

Heatmap gruppiert

Beitrag von wbart »

Hallo,

ich versuche eine Heatmap zu erstellen. Diese soll quasi zweigeteilt erscheinen. Gruppe X zusammen und Gruppe Y zusammen. Beide Gruppen sollen durche eine weiße linie getrennt voneinander erscheinen. Am besten wäre wenn die Gruppenbezeichnung am Rand ersichtlich wäre. Leider scheitere ich bereits an der korrekten Sortierung.

Code: Alles auswählen

# Testdaten
model <- c(rep("Model A", 4), rep("Model B", 4), rep("Model C", 4))
geneSymbol <- c("Gene 1", "Gene 2", "Gene 3", "Gene 4",
                       "Gene 1", "Gene 2", "Gene 3", "Gene 4",
                       "Gene 1", "Gene 2", "Gene 3", "Gene 4")
logFC <- c(-1.2, 2.3, -0.8, 1.5,
           1, 2.2, -0.7, 1.4,
           -1.1, 2.4, -0.9, 1.6)
group <- factor(c("Y", "Y", "X", "Y",
                  "Y", "Y", "X", "Y",
                  "Y", "Y", "X", "Y"), levels = c("X", "Y"))
data <- data.frame(model, geneSymbol, logFC, group)

# Sortieren und Heatmap

data[order(group),] %>% 
ggplot(aes(x=model, y=geneSymbol, fill=logFC)) +
  geom_tile()
Die Sortierung auf der y Achse ist stoisch Gene 1 - 4

Hat jemand eine Idee?

VG
wbart
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Heatmap gruppiert

Beitrag von Athomas »

Bitte alle verwendeten Libraries auch explizit im Programmtext laden!

Schau Dir mal das ggplot2 facet.wrap an!
wbart
Beiträge: 89
Registriert: Fr Mär 16, 2018 4:08 pm

Re: Heatmap gruppiert

Beitrag von wbart »

Hallo Athomas,

bei facet wrap habe ich immer die komplette y Achse obwohl nur ein Teil auf die Gruppe zutrifft. das möchte ich vermeiden.

library(tidyverse)

VG Werner
Antworten