根据R中的聚类第一矢量聚类第二矢量

时间:2013-06-23 13:24:40

标签: r cluster-analysis

我有一个被分为两个簇的向量(如this question中所述):

    x <- c(1, 4, 5, 6, 9, 29, 32, 46, 55)
    tree <- hclust(dist(x), method = "single")
    split(x, cutree(tree, h = 19))
    # $`1`
    # [1] 1 4 5 6 9
    #
    # $`2`
    # [1] 29 32 46 55

现在假设我有另一个长度相同的聚类,我希望通过与x相同的索引将它们分成相同数量的聚类,以下面的向量y为例:

    set.seed(77)
    y = rnorm(9)
    y
    #[1] -0.54964  1.09105  0.63978  1.04258  0.16970  1.13780 -0.97055 -0.13183
    #[9]  0.14623

期望的结果应该是这样的:

    # $`1`
    # [1] -0.54964  1.09105  0.63978  1.04258  0.16970
    #
    # $`2`
    # [1] 1.13780 -0.97055 -0.13183 0.14623

1 个答案:

答案 0 :(得分:1)

就像你对x所做的那样:

split(y, cutree(tree, h = 19))

由于您现在在多个地方使用cutree(tree, h = 19),因此您也可以将其分配给变量:

groups <- cutree(tree, h = 19)
split(x, groups)
split(y, groups)