2013-02-18 9 views
2

Я сделал анализ кластерной палаты с OM (оптимальное совпадение) расстояний, полученных с помощью TraMineR.Я сделал кластерный анализ - как добавить столбец с результатами в мои исходные данные

R>library (cluster) 
R>clusterward<- agnes (test.om,dis=TRUE, method="ward") # where test is my dataset 

Я выбрал 6 кластеров

R> cluster6<- cutree(clusterward, k=6) 

Я пытался добавить cloumn к моему набору данных:

R> groups = cutree(clusterward, k=6) 
R> result = cbind(clusterward, k=6, groups) 

И я получил следующее сообщение об ошибке:

Avis dans cbind(clusterward, k = 6, groups) : 
    number of rows of result is not a multiple of vector length (arg 1) 

Как я могу решить эту проблему ??

+1

Что такое 'OM'? Покажите нам свой набор данных 'test' (или образец). Построить воспроизводимый пример. Покажите нам 'clusterward',' groups' и 'result'. – Arun

+0

Серьезно ** прочитайте документацию на 'cbind' **. Эта линия не имеет смысла. http://stat.ethz.ch/R-manual/R-patched/library/base/html/cbind.html –

ответ

1

k=6 в cbind выглядит странно и, скорее всего, не то, что вы хотите иметь. Без примера, просто совет, напечатайте каждый элемент, который вы хотите cbind, и проверьте, действительно ли это то, что вы хотите поместить. Я думаю, вы увидите довольно быстро, что в этой команде не должно быть k=6 (и я не уверен, что хранится в clusterward, если эти части совпадают).

Как я понял, не должно быть что-то вроде cbind(test.om,groups)?

2

Проблема в том, что кластеризация не является вашим набором данных, это результаты кластеризации. Предположим, у вас есть data.frame, содержащий все данные (отдельные) информацию Торговое называемые «MYDATA», то вы можете использовать:

mydata <- cbind(mydata, groups) 

или (если вы используете первую команду)

mydata <- cbind(mydata, cluster6) 

Обратите внимание что в команде agnes вы должны использовать diss = TRUE (а не dis = TRUE).

Надеюсь, это поможет.

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

  • Нет связанных вопросов^_^