Похоже, это делает трюк. Я даже перепутал порядок столбцов, чтобы посмотреть, будет ли он работать с дендрограммами
data(mtcars)
x <- as.matrix(mtcars)
heatmap.2(x)
df1 <- as.data.frame(row.names(mtcars))
df1$type <- c("a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b","c","a","b")
df1 <- df1[order(df1$type),]
labRow <- df1$type[match(row.names(x), df1$'row.names(mtcars)') ]
heatmap.2(x, labRow = labRow)