Seite 1 von 1

heatmap mit ggplot

BeitragVerfasst: Fr 20. Okt 2017, 13:13
von Katharina82
Hallo,

ich bin blutiger Anfänger und versuche eine heatmap mit gplot zu erstellen mithilfe von folgendem Tutorial:

https://www.youtube.com/watch?v=T7_j444LMZs

hier ist mein script:

install.packages("gplots")
install.packages("heatmap.plus")
install.packages("RColorBrewer")

library(gplots) # perform each time you start up RStudio
library("heatmap.plus")
library("RColorBrewer")

test <- read.csv("~/Desktop/HLH_MAS_3.csv", sep=",", dec=".", header=TRUE, row.names=1)
condition_colors <- unlist(lapply(rownames(HLH_MAS_3),function(x){
if(grepl("HC",x))'#FF0000'#red
else if(grepl('SJIA',x))'#4E18E2'#blue

}))
input <- as.matrix(t(HLH_MAS_3))

heatmap.2(input, trace="none", density="none", col=bluered(20), cexRow=1, cexCol=0.2) margins=c(20,13)
ColSideColors=condition_colors
hclust=function(x) hclust(x,method="average")



leider bekomme ich immer folgende Fehlermeldung, egal was ich mache:

+ heatmap.2(input, trace="none", density="none", col=bluered(20), cexRow=1, cexCol=0.2) margins=c(20,13)
Fehler: unerwartetes Symbol in:
"
heatmap.2(input, trace="none", density="none", col=bluered(20), cexRow=1, cexCol=0.2) margins"
> ColSideColors=condition_colors
> hclust=function(x) hclust(x,method="average")

kann mir jemand einen Tipp geben, was ich hier falsch mache?

Vielen Dank schonmal!!

Re: heatmap mit ggplot

BeitragVerfasst: Mo 23. Okt 2017, 09:56
von Katharina82
Danke, das habe ich wohl übersehen!

Jetzt habe ich noch folgendes Problem:

Fehler in read.table(file = file, header = header, sep = sep, quote = quote, :
mehr Spalten als Spaltennamen

???

Re: heatmap mit ggplot

BeitragVerfasst: Mo 23. Okt 2017, 10:34
von Katharina82
na toll... ;)

so sieht meine Tabelle aus, bzw ist sie natürlich sehr viel größer...es handelt sich um Zytokinmesswerte.

IL-1RA IL-1a IL-1b IL-2 IL-4
HC 1 378,8 4,8 0,4 5,9 0,1
HC 2 1182,7 9,2 4,5 10,3 0,1
HC 3 1540,6 10,5 3,6 13,9 0,1
HC 4 526 1,6 0,3 2,9 0
HC 5 802,9 5,9 1,2 5,8 0,1

wenn ich sie manuell in Rstudio lade sieht auch erst mal alles ganz normal aus...das mit dem Index funktioniert übrigens auch nciht wie in dem tutorial vorgeschlagen. ich bekomme zwar eine heatmap mit cluster (das auch irgendie richtig zu sein schein), aber die heatmap ist fast einfarbig. Ich habe kurzlich erst die neue Rstudio Version geladen, mit der alten ging es besser. was mache ich falsch?

Re: heatmap mit ggplot

BeitragVerfasst: Mo 23. Okt 2017, 10:40
von Katharina82
aah...es war der seperator...allerdings habe ich jetzt folgende Fehlermeldung:

> heatmap.2(input, trace="none", density="none", col=bluered(20), cexRow=1, cexCol=0.2, margins=c(20,13))
Fehler in heatmap.2(input, trace = "none", density = "none", col = bluered(20), :
`x' must be a numeric matrix


aaaarrrghhhh :evil:

Re: heatmap mit ggplot

BeitragVerfasst: Mo 23. Okt 2017, 13:23
von Katharina82
hmmm...eigentlich bin ich mir sicher dass es eine Matrix ist, da ich nur numerische Werte habe....diese Fehlermeldung habe ich vorher auch nicht bekommen und an der file an sich hab ich auch nichts verändert...

Re: heatmap mit ggplot

BeitragVerfasst: Mo 23. Okt 2017, 14:48
von Katharina82
...ich habe das ganze jetzt erfolgreich in eine numerische Matrix convertiert, allerdings fehlt mir jetzt eine Character vector füre andere Funktion die ich gerne verwenden würde. Kann ich in einer numerischen Matrix eine Column als character vector definieren?? und wenn ja, wie??

Re: heatmap mit ggplot

BeitragVerfasst: Do 15. Feb 2018, 13:02
von ruedi_br
In dem Code geht es m.E. etwas durcheinander mit den Bezeichnern:
Code: Alles auswählen
test <- read.csv("~/Desktop/HLH_MAS_3.csv", sep=",", dec=".", header=TRUE, row.names=1)
condition_colors <- unlist(lapply(rownames(HLH_MAS_3),function(x){
if(grepl("HC",x))'#FF0000'#red
else if(grepl('SJIA',x))'#4E18E2'#blue

}))
input <- as.matrix(t(HLH_MAS_3))

heatmap.2(input, trace="none", density="none", col=bluered(20), cexRow=1, cexCol=0.2) margins=c(20,13)
ColSideColors=condition_colors
hclust=function(x) hclust(x,method="average")

read.csv schreibt nach "test"
"Input" erhält die die Matrix HLH_MAS_3 zugewiesen - wie bitte kommt die in das Skript?
Oder ist dieser Code zwischenzeitlich überholt?