从clValid - 下标超出范围提取最优分数

时间:2016-06-14 15:22:51

标签: r error-handling cluster-analysis

我尝试从clValid包内部验证中提取最佳分数。对于某些数据集,基于模型的聚类算法无法定义特定数量的聚类。对于不可能的簇数,包为内部验证度量设置了NA,在这种情况下,函数optimalScores()不能处理以下错误:

Error in which(x == min(x), arr.ind = TRUE)[1, ] : 
  subscript out of bounds

我知道如何从optimalScores()获得最佳值,但它不起作用。 summary(intvalid)也提供了最佳分数,但是我无法找到从摘要中提取它们的方法。

示例:

set.seed(199)
df1<-data.frame(replicate(4,sample(1:100,400,rep=TRUE)))

require(clValid)
intvalid <- clValid(df1, 2:10, clMethods=c("model"),
validation="internal", maxitems = 1000)

# doesn't work
optimalScores(intvalid)
# shows optimal scores
summary(intvalid)

如果某些值有NA,我怎样才能获得最佳分数?

1 个答案:

答案 0 :(得分:0)

你尝试过: intvalid&lt; - clValid(df1,2:10,clMethods =&#34; model&#34;, validation =&#34; internal&#34;,maxitems = 1000)

我认为如果你只使用一种方法,你就不需要&#34; c&#34;