NbClust - 如何在 R 中仅从 NbClust 中删除一个索引?

NbClust - How to remove one index only from NbClust in R?

提问人:last_resource 提问时间:10/25/2023 更新时间:10/25/2023 访问量:18

问:

我正在使用该函数根据多数规则定义最佳簇数,并确定最佳分区。我正在使用一个不平衡的面板,我正在逐年应用该功能。 几年来(我几乎无法识别它们,因为它们并不总是相同的,我不知道为什么)该函数返回以下错误NbClust

Error in if ((resCritical[ncB - min_nc + 1, 3] >= alphaBeale) && (!foundBeale)) { : 
  missing value where TRUE/FALSE needed
In addition: There were 24 warnings (use warnings() to see them)

由于该错误与索引有关,因此我想将其从计算的索引中删除。但是,该函数允许执行所有索引或只执行一个索引。或者,我应该做一个循环,做所有索引,但这不是一个,但这不是很有效。 任何建议BealeNbClustBeale

  1. 如何修改函数以排除一个特定索引
  2. 错误的解释

将不胜感激。

作为一个可重现的(跳跃)示例,这是 2004 年的数据帧,在该数据帧上,具有完全链接的分层聚类给出了上述错误。

数据帧:

df <- structure(list(x= c(0.0130783841691594, 0.0811796289534658, 
0.0270475823858084, 0.0871712792530475, 0.0265691710106049, 0.0382829923183554, 
0.0358792264229904, 0.0369710074848561, 0.0968678748440389, 0.0280162961677389, 
0.0641060604744847, 0.096750772588868), 
y = c(0.290726734324551, 
0.662213464257301, 0.604778245212102, 0.649112827666588, 0.336837686614598, 
0.21960628048058, 0.825429900340104, 0.22066877898435, 0.189433188407458, 
0.452489397011509, 0.45434949089379, 1.16414485174389)), 
row.names = c("BOL", 
"BRA", "COL", "CRI", "ECU", "JAM", "MEX", "PAN", "PER", "PRY", 
"URY", "USA"), 
class = "data.frame")

聚类:

NbClust(data = df, distance = "euclidean", method = "complete", min.nc = 2, max.nc = 6)
r 分析 分层聚类

评论


答: 暂无答案