/ / ggplot2 - Heatmap Tabella per riga - r, ggplot2, heatmap

ggplot2 - Heatmap Tabella per riga - r, ggplot2, heatmap

Sto cercando di creare una tabella heatmap, che èabbastanza facile, ma sto volendo che il colore del gradiente sia confinato all'interno di una singola riga, non sull'intero data.frame. Il risultato dovrebbe essere che ogni riga dovrebbe avere la riga max e min entrambe presenti. Fondamentalmente, tutti gli esempi di mappe di calore che posso trovare online creano la scala del gradiente di colore da tutti i valori nella tabella.

Ecco un esempio di dataframe:

df <- data.frame("var" = paste0("var",1:3),
"group1" = c(1,500,3),
"group2" = c(2,300,1),
"group3" = c(3,100,2),
"group4" = c(4,50,4),
"group5" = c(5,10,5))

Ed ecco il risultato di ciò che sto cercando: inserisci la descrizione dell'immagine qui

risposte:

2 per risposta № 1

Che dire del ridimensionamento dei dati per riga (dividerlo per la media della riga). Esempio con ggplot2:

df <- melt(df)
df <- data.table(df)
df[,value_rescaled:=value/mean(value),by=.(var)]


ggplot(data = df, aes(x = variable, y = var)) +
geom_tile(aes(fill = value_rescaled))+
scale_fill_gradient2(low = "#4682B4", mid = "#FFFFFF", high = "#FF0000", midpoint = 1, space = "Lab",
na.value = "grey50", guide = "colourbar")+
geom_text(aes(label=value))+
theme(legend.position="none")

inserisci la descrizione dell'immagine qui