当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R mona 二元变量的单论分析聚类


R语言 mona 位于 cluster 包(package)。

说明

返回一个列表,表示仅包含二进制变量的数据集的分裂层次聚类。

用法

mona(x, trace.lev = 0)

参数

x

数据矩阵或 DataFrame ,其中每行对应一个观察值,每列对应一个变量。所有变量必须是二进制的。允许有限数量的缺失值 (NA s)。每个观察值必须至少有一个不同于 NA 的值。任何变量都不应缺少一半的值。必须至少有一个变量没有缺失值。不允许所有非缺失值都相同的变量。

trace.lev

逻辑或整数,指示算法是否(以及多少)应产生进度输出。

细节

mona 在 Kaufman 和 Rousseuw (1990) 的第 7 章中有完整说明。它是“monothetic”,因为每个划分都基于单个(well-chosen)变量,而大多数其他分层方法(包括agnesdiana)是“polythetic”,即它们一起使用所有变量。

mona-算法从一个大集群开始构建集群层次结构。聚类被划分,直到同一聚类中的所有观测值的所有变量都具有相同的值。
在每一阶段,所有簇都根据一个变量的值进行划分。聚类分为一个聚类,其中该变量的所有观测值均为 1,另一个聚类的所有观测值对该变量的值为 0。

根据要分割的聚类中的观察结果,用于分割聚类的变量是与其他变量具有最大总关联性的变量。变量 f 和 g 之间的关联由 a(f,g)*d(f,g) - b(f,g)*c(f,g) 给出,其中 a(f,g), b(f, g)、c(f,g) 和 d(f,g) 是 f 和 g 列联表中的数字。 [也就是说,a(f,g)(分别为 d(f,g))是 f 和 g 均值为 0(分别为 1)的观测值的数量; b(f,g)(分别为 c(f,g))是 f 值为 0(分别为 1)且 g 值为 1(分别为 0)的观测值的数量。] 变量的总关联f 是其与所有变量的关联之和。

代表聚类的 "mona" 类的对象。有关详细信息,请参阅mona.object

缺失值(NA s)

mona-algorithm 需要 “pure” 0-1 值。但是,mona(x) 允许x 包含(不是太多)NA。在初步步骤中,这些是“imputed”,即填充所有缺失值。为此,使用与算法中相同的变量之间关联度量。当变量f有缺失值时,查找与f具有最大绝对关联的变量g。当 f 和 g 之间的关联为正时,f 的任何缺失值都将替换为同一观测值的 g 值。如果 f 和 g 之间的关联为负,则 f 的任何缺失值都将替换为同一观测值的 1-g 值。

注意

cluster 2.0.6 之前的版本中,算法在一个变量(即 ncol(x) == 1 )的边界情况下进入无限循环,当前发出错误信号(因为现在的 C 算法没有正确考虑到这一点)特例)。

例子

data(animals)
ma <- mona(animals)
ma
## Plot similar to Figure 10 in Struyf et al (1996)
plot(ma)

## One place to see if/how error messages are *translated* (to 'de' / 'pl'):
ani.NA   <- animals; ani.NA[4,] <- NA
aniNA    <- within(animals, { end[2:9] <- NA })
aniN2    <- animals; aniN2[cbind(1:6, c(3, 1, 4:6, 2))] <- NA
ani.non2 <- within(animals, end[7] <- 3 )
ani.idNA <- within(animals, end[!is.na(end)] <- 1 )
try( mona(ani.NA)   ) ## error: .. object with all values missing
try( mona(aniNA)    ) ## error: .. more than half missing values
try( mona(aniN2)    ) ## error: all have at least one missing
try( mona(ani.non2) ) ## error: all must be binary
try( mona(ani.idNA) ) ## error:  ditto

也可以看看

agnes 用于背景和参考; mona.objectplot.mona

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 MONothetic Analysis Clustering of Binary Variables。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。