首页 > 解决方案 > R, hclust : 如何为每个集群创建一个代表?

问题描述

我已经完成了集群化,现在,我想用它来替换缺失值。我的想法是为每个集群计算一个代表,然后根据该代表替换缺失值。问题是......我真的不知道该怎么做。

我搜索了一下,发现了这个问题,这似乎几乎可以回答我的问题(找到代表也对我有用),但我对它的了解还不够多,无法使用它。

library(data.table)
library(dplyr)
library(tidyr)
library(TSclust)
set.seed(1)
df = data.table(
  "Time" = c(1,2,3,4,5),
  "1" = runif(5),
  "2" = runif(5),
  "3" = runif(5),
  "4" = runif(5),
  "5" = runif(5),
  "6" = runif(5))

clusters = hclust(diss(ts(df[,-1]), "EUCL"))
tree = cutree(clusters, 3)

rep = df%>%
  gather(key = ID,value = Conso, -Time)%>%
  mutate(Cluster = as.vector(sapply(tree, FUN = rep,times = 5)))%>%
  group_by(Cluster, Time)%>%
  summarise(Conso = mean(Conso))

这是接近我的实际数据的东西,这是计算一些代表的一些天真的方法。

这实际上是一种可行的方法吗?你知道从集群中提取这些代表的方法吗?

标签: rcluster-analysishclust

解决方案


推荐阅读