2017-02-13 20 views
2

Сейчас я использую dtwclust пакет (спасибо автору Alexis Sarda-Espinosa & Alexis Sarda) ~Как получить результат dtwclust

Я застрял на легкий вопрос. Вот мой код.

sc <- read.table("D:/handling data/confirm.csv", header=T, sep=",") 
rownames(sc) <- sc$STDR_YM_CD 
sc$STDR_YM_CD <- NULL 
sc <- t(sc) 
hc_sbd <- dtwclust(sc, type = 'h', k=3L, method = 'average', preproc = zscore, 
       distance = 'dtw', control = list(trace=TRUE)) 

plot([email protected]) 
plot(hc_sbd, type='sc') 
plot(hc_sbd, type='series', clus=2) 
plot(hc_sbd, type='centroids', clus=2) 

head(hc_sbd) 
write.xlsx(hc_sbd, "D:/handling data/tab1clustn.xlsx") 

У меня есть эта фотография. И я хотел бы экспортировать свои данные с помощью меток кластеров. как вторая картина.

enter image description here enter image description here

Вот мой канал передачи данных http://blogattach.naver.com/e772fb415a6c6ddafd137d427d9ee7953f6e9146/20170207_141_blogfile/khm2963_1486442387926_THgZRt_csv/confirm.csv?type=attachment

+0

Вы можете поделиться своими данными –

+0

О, хорошо. ха-ха извините. Я опаздываю –

+0

Вы можете поделиться файлом csv? или 'dput' ваши данные? –

ответ

2

Я предполагаю STDR_YM_CD ваш уникальный идентификатор, который вы хотели бы группироваться с DTW.

sc <- read.table("D:/handling data/confirm.csv", header=T, sep=",") 
df.labels <- sc$STDR_YM_CD #rownames(sc) <- sc$STDR_YM_CD 
sc$STDR_YM_CD <- NULL 
sc <- t(sc) 

hc_sbd <- dtwclust(sc, type = 'h', k=3L, method = 'average', preproc = zscore, 
      distance = 'dtw', control = list(trace=TRUE)) 

hc.clust <- data.frame(STDR_YM_CD = df.labels, dtwclust = [email protected]) 

sc <- merge(sc,hc.clust, by.x = "STDR_YM_CD", by.y = "STDR_YM_CD") 

Я просто извлечь этикетки, переменные вы пытаетесь кластер, а затем создать новый фрейм данных из dtwclust результата с именем столбца dtwclust. Я думаю, объединить их обратно на основе наших уникальных ярлыков. Есть и другие способы сделать это, но это один из вариантов. Надеюсь, это помогло!

+0

Спасибо ~ действительно отличный ответ ~~ Хорошего дня ~~ Ты отличный парень ~~ –

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

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