0
一旦使用hclust
建立群集,然后使用cutree
指定向下群集; 如何检索组成不同群集的成员?假设你创建了一个简单的层次化集群,那么哪个命令可以单独地检索这些元素组的叶子中的元素?从群集中检索成员(叶子)
我试着用table()
但没办法......
一旦使用hclust
建立群集,然后使用cutree
指定向下群集; 如何检索组成不同群集的成员?假设你创建了一个简单的层次化集群,那么哪个命令可以单独地检索这些元素组的叶子中的元素?从群集中检索成员(叶子)
我试着用table()
但没办法......
可以使用split
功能:用于定义数据应如何分组的第二个参数,使用你的树砍。它将返回一个列表,其中每个元素是不同的集群。
hc <- hclust(dist(USArrests), "ave")
ct <- cutree(hc, k=3)
如果你只是想成员的名字:
split(names(ct), ct)
# $`1`
# [1] "Alabama" "Alaska" "Arizona" "California"
# [5] "Delaware" "Florida" "Illinois" "Louisiana"
# [9] "Maryland" "Michigan" "Mississippi" "Nevada"
# [13] "New Mexico" "New York" "North Carolina" "South Carolina"
# $`2`
# [1] "Arkansas" "Colorado" "Georgia" "Massachusetts"
# [5] "Missouri" "New Jersey" "Oklahoma" "Oregon"
# [9] "Rhode Island" "Tennessee" "Texas" "Virginia"
# [13] "Washington" "Wyoming"
# $`3`
# [1] "Connecticut" "Hawaii" "Idaho" "Indiana"
# [5] "Iowa" "Kansas" "Kentucky" "Maine"
# [9] "Minnesota" "Montana" "Nebraska" "New Hampshire"
# [13] "North Dakota" "Ohio" "Pennsylvania" "South Dakota"
# [17] "Utah" "Vermont" "West Virginia" "Wisconsin"
,或者如果你想通过集群分割原始数据:
split(USArrests, ct)
# $`1`
# Murder Assault UrbanPop Rape
# Alabama 13.2 236 58 21.2
# Alaska 10.0 263 48 44.5
# Arizona 8.1 294 80 31.0
# [...]
# $`2`
# Murder Assault UrbanPop Rape
# Arkansas 8.8 190 50 19.5
# Colorado 7.9 204 78 38.7
# Georgia 17.4 211 60 25.8
# [...]
# $`3`
# Murder Assault UrbanPop Rape
# Connecticut 3.3 110 77 11.1
# Hawaii 5.3 46 83 20.2
# Idaho 2.6 120 54 14.2
# [...]