Почему в метках кластерного графика используются строки вместо имен из столбца идентификатора?
-
12-12-2019 - |
Вопрос
Я работаю с набором данных (столбец 1 = имена генов и столбец 2 = значения экспрессии) и пытаюсь построить кластерный график, но я обнаруживаю, что ветви помечены номером строки, а не идентификатором гена из столбца. 1.
набор данных: https://dl.dropbox.com/u/364456/miRNA.csv
С использованием:
attach(animals)
d=dist(as.matrix(animals))
hc=hclust(d)
plot(hc)
результирующий сюжет:
Я попытался выполнить кластеризацию kmeans и в итоге получил эту ошибку:
НС, введенные путем принуждения.
Это указывает на то, что я неправильно отформатировал файл данных.
Кто-нибудь знает, что здесь происходит?
Решение
Для hclust
чтобы распознать имя вашего гена как правильное имя метки, в этом столбце должны быть имена строк.
Проблема:ген mmu-miR-191
появляется дважды, и имена строк не могут повторяться.Учитывая, что значения для обеих строк одинаковы, я просто предположу, что это дубликат, и удалю второй.
read.table("miRNA.csv", sep=",", header=TRUE, row.names=1) -> mirna
mirna[-34,] -> mirna # Delete the redundant row.
row.names(mirna) <- mirna[,1] # Declare column 1 as the row names
dist(as.matrix(mirna)) -> d # And then your routine
hc <- hclust(d)
plot(hc)
Другие советы
По умолчанию номера строк или имена строк используются для метки наблюдений.Тем не менее, вы можете использовать аргумент меток для выбора переменных для использования для меток.
plot(modelname, labels=dataset$variable)
.