0

我试图使用tsclust做一个时间序列聚类和我的数据集是这样的: enter image description here时间序列层次聚类中的R逐列

我有超过500与同每个8个观测时间序列时间线。我申请tsclust给它,但后来时间簇但不系列(如下): enter image description here

后来我发现tsclust只能工作逐行(从www.rdocumentation.org/packages/dtwclust/versions。 /3.1.1/topics/tsclust)

如果还有其他类似的功能可以用来完成聚类分析?或者我可以如何改变我的数据格式来做到这一点?

我原来的代码如下所示:

tst<-read.csv("data.csv", stringsAsFactors = TRUE) 
tst<-xts(tst[,-1], order.by = as.Date(paste0(tst[,1]))) 

par(mar=c(1,1,1,1)) 
plot.xts(tst) 

series <- zscore(tst) 

hc.sbd <- tsclust(series, type = "h", k = 6L, 
       preproc = zscore, seed = 233, 
       distance = "sbd", centroid = shape_extraction, 
       control = hierarchical_control(method = "average")) 
plot(hc.sbd) 
plot(hc.sbd, type = "sc") 

任何帮助表示赞赏。先谢谢你。

+1

重要的是要注意,您正在使用dtwclust软件包中的tsclust函数,而不是TSclust软件包。你有没有试过转置你的数据?请参阅R. – Jay

+0

@Jay它只是简单地将t应用于我的系列。非常感谢!!!!! – Kraken

回答

1

使用t转置您的数据。

将列转换为行。