renozao / FAQR

Frequently Asked Questions on R: my personal Ask Just Once system for my friends' R problems...
0 stars 0 forks source link

Column annotations in aheatmap #17

Closed Rachelly closed 8 years ago

Rachelly commented 8 years ago

Hi, I don't really understand how to insert column annotations in aheatmap, see code below and attached data file. I tried to create a data.frame such as the one shown in the example, but it didn't work. I would appreciate your help Thanks! Rachelly.

library(NMF) 
data = read.table("shira.csv", sep=",", row.names=1, stringsAsFactors = FALSE) 
colnames(data) = as.character(data[1,]) 
data=data[-1,] 
# converting rows to numeric type 
for (i in 1:ncol(data)) 
  data[,i] = as.numeric(data[,i]) 

color_per_group = factor(c("red","blue","yellow","orange","green","black"))
names(color_per_group)= unique(colnames(data))
ColAnn = data.frame(Var1 = color_per_group[colnames(data)], Var2 = colnames(data))
ColAnn$Var2 = as.character(ColAnn$Var2)

aheatmap(data, labRow = ColAnn)  # error
aheatmap(data, labRow = colnames(data)) #error
kkveler commented 8 years ago

Use annRow, not labRow parameter.

The code below assignes colors automatically.

library(NMF)
data=data.frame(col1=1:5, col2=6:10) 
aheatmap(data, annRow = c("class1", "class1", "class2", "class3", "class3")) 
renozao commented 8 years ago

Yes, you were using the wrong parameter: labRow is for row labels, use annRow or annCol for row and column annotation respectively.