我已经完成了集群,现在,我想用它来替换缺失的值。 我的想法是为每个群集计算一个代表,然后根据该代表替换缺失值。 问题是...我真的不知道该怎么做。
我进行了搜索,发现this question,这似乎几乎可以解决我的问题(找到代表也可以为我工作),但是我对它的理解还不够,无法使用它。
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))
这有点接近我的实际数据,这是一些幼稚的方法来计算一些代表。
这实际上是一种好的方法吗?您知道从 clusters 中提取那些代表的方法吗?