我找到了NbClust,这是一个很棒的代码,可以一次比较多个索引。我之所以使用它,是因为我可以使用Best.partition输出来继续将计算计算为函数。
但是某些索引经过错误,我想排除它们以运行NbClust函数。参数“索引”使您可以选择索引之一或选择“全部”。我试图使用索引向量,但是它通过一个错误。 NbClust函数的源代码创建“索引”对象,该对象指示要计算的索引,但是“全部”用作另一个索引,而不是一组索引。这是选择多个索引的预期用法示例:
library('NbClust')
no_rows = 20
cl <- NbClust(data = scale(rnorm(no_rows)),
diss = NULL,
distance = 'euclidean',
min.nc = 1,
max.nc = no_rows,
method = 'kmeans',
index = c('kl', 'ch')
)
no_cluster <- max(cl$Best.partition)
return(no_cluster)
或者,另一方面,从“全部”选项中排除某些索引是一种不错的方法