在R中保留多个最大值中的一个最大值

时间:2014-09-24 17:00:17

标签: r k-means

我有一个矩阵定义了多个文档的聚类分配到聚类质心,这个矩阵有行作为文档和列作为聚类质心,我想做的是只保留一个聚类分配并基本上删除其余的打破文档的簇关系。这是一个例子:

    [,1] [,2] [,3]
[1,]  0    0    1
[2,]  1    1    0
[3,]  1    0    0

因此,文档2被分配给集群1和集群2,我想要的只是保留一个集群分配,现在我正在尝试保留具有最低索引的集群分配,因此应该分配文档2集群1.我很困惑如何在R中实现这一点。

1 个答案:

答案 0 :(得分:1)

which.maxwhich.is.max(后者位于nnet包中)已经解决了您的问题。 which.max会返回第一个最大值,which.is.max会随机打破关联。

apply(m, 1, which.max)

apply(m, 1, which.is.max)