R heatmap.2 изменяет метки строк на неуникальные значения, сопоставляя имена строк с другим df - PullRequest
0 голосов
/ 24 апреля 2020

Таким образом, вместо использования имен строк из моей матрицы в качестве меток строк, я хочу использовать другой набор неуникальных меток. (Здесь есть нюанс: я не могу установить эти метки в качестве имен строк в матрице, поскольку они не уникальны. - Я надеюсь, что использование параметра labRow позволит мне обойти это.)

labRow = df1 $ type, где df1 $ name соответствует имени строки x

Я думаю, что это может потребовать чего-то более сложного, например, найденного здесь: Сделать метки строк itali c в heatmap.2

DF1

             name        type
1            Mazda RX4   A
2        Mazda RX4 Wag   A
3           Datsun 710   B
4       Hornet 4 Drive   B
5    Hornet Sportabout   B
6              Valiant   C
7           Duster 360   A
8            Merc 240D   B
9             Merc 230   C
10            Merc 280   C

Тепловая карта:

data(mtcars)
 x  <- as.matrix(mtcars)
heatmap.2(x)

Не уверен, как это сделать sh в рамках heatmpa.2. Хотите знать, если бы это было с помощью слияния? Или что-то еще?

Желаемым выводом будет тепловая карта с метками строк, которые они печатают вместо названия машины.

1 Ответ

0 голосов
/ 24 апреля 2020

Похоже, это делает трюк. Я даже перепутал порядок столбцов, чтобы посмотреть, будет ли он работать с дендрограммами

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)
...