2013-09-15 4 views
-1

Используя код из: http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Clustering/Hierarchical_ClusteringКак сгенерировать помеченную дендрограмму с помощью agnes?

Вот как генерировать dendogram:

# import data 
x <- read.table("data.txt") 

# run AGNES 
ag <- agnes (x, false, metric="euclidean", false, method ="single") 

# print components of ag 
print(ag) 

# plot clusters 
plot(ag, ask = FALSE, which.plots = NULL) 

Я получаю ошибку на

ag <- agnes (x, false, metric="euclidean", false, method ="single") 

Погрешность составляет:

Error in agnes(x, false, metric = "euclidean", false, method = "single") : 
    object 'false' not found 

Эта реализация agnes работает, но ее генерация пронумерованные этикетки для dendogram:

ag <- agnes (data, metric="euclidean") 
# plot clusters 
plot(ag, ask = FALSE, which.plots = NULL) 

dendogram:

enter image description here

dendogram генерируется из http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R/Clustering/Hierarchical_Clustering включает в себя метки:

enter image description here Вот файл данных:

,ba,fi,mi,vo,rm,to 
ba,0,662,877,255,412,996 
fi,662,0,295,468,268,400 
mi,877,295,0,754,564,138 
vo,255,468,754,0,219,869 
rm,412,268,564,219,0,669 
to,996,400,138,869,669,0 

Как можно сгенерировать помеченный иерархический кластер на основе вышеуказанных данных, который аналогичен помеченной дендрограмме выше?

Обновление:

После выполнения @sgibb предложение я использовал это:

ag <- agnes(data, FALSE, metric="euclidean", FALSE, method ="single") 

# plot clusters 
plot(ag, ask = FALSE, which.plots = NULL) 

dendogram генерируется теперь:

enter image description here

Это неправильное строение. Может быть, это указывает на то, что имена столбцов моего набора данных выглядят как 1,2,3,4,5,6 и не помечены, если да, то как я могу изменить оператор импорта?

набор данных импортирован:

enter image description here

+1

В R вы должны использовать '' false' не false'! Я не знаю 'agnes', но попробую' agnes (x, FALSE, metric = "euclidean", FALSE, method = "single") '. – sgibb

+0

@sgibb thanks, FALSE заставил его не выдавать ошибку, но маркировка все еще не работает. И дендрограмма не выглядит правильной. см. вопрос об обновлении –

+1

Это не вопрос о создании дендрограммы, а скорее о том, как правильно импортировать данные. – dayne

ответ

1

Моя проблема была лишняя запятая в наборе данных.

running help(read.table) и принимая во внимание этого раздела помогло мне решить эту проблему:

If there is a header and the first row contains one fewer field than the number of columns, the first column in the input is used for the row names. Otherwise if row.names is missing, the rows are numbered. 

Это работает:

  1. импорт данных Vai т-Gui данных для импорта:

    ba, fi, mi, vo, rm, до ba, 0,662,877,255,412,996 fi, 662,0,295,468,268,400 ми, 877,295,0,754,564,138 В.О., 255,468,754,0,219,869 гт, 412,268,564,219,0,669 к, 996,400,138,869,669,0

  2. выполнить команды:

< AG - Агнес (данные, FALSE, метрические = "евклидово", значение FALSE, метод = "одиночный")

участка (аги, задать = FALSE, то which.plots = NULL)

Это создает этот dendogram, который л OKS корректные:

enter image description here

+0

Я поддержал Q и A из-за ссылки на пример wikibooks. –

Смежные вопросы