【问题标题】:How to add cluster id in a seperate column of a dataframe?如何在数据框的单独列中添加集群 ID?
【发布时间】:2018-06-14 11:53:01
【问题描述】:

我用 hclust 生成了一个树状图,并将其切割成两个簇。我从图中知道哪一行对应于哪个集群。我想要做的是在数据框中创建一个单独的列,如果该行对应于第一个集群,它将包含元素“class-1”,如果对应于第二个集群,它将包含元素“class-2”。

【问题讨论】:

  • ifelse() 可能会解决问题,但如果没有样本数据和 1 类/2 类的标准,就不可能给出完整的答案。

标签: r hclust


【解决方案1】:

如果没有示例数据集,我将使用内置的USArrests
如果您创建带有标签"class-1""class-2"factor 类列,R 将自动将它们分别分配给值12

hc <- hclust(dist(USArrests), "ave")    # taken from the help page ?hclust
memb <- cutree(hc, k = 2)               #

res <- cbind(USArrests, Class = factor(unname(memb), labels = c("class-1", "class-2")))
head(res)
#           Murder Assault UrbanPop Rape   Class
#Alabama      13.2     236       58 21.2 class-1
#Alaska       10.0     263       48 44.5 class-1
#Arizona       8.1     294       80 31.0 class-1
#Arkansas      8.8     190       50 19.5 class-2
#California    9.0     276       91 40.6 class-1
#Colorado      7.9     204       78 38.7 class-2

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 2020-09-15
    • 2021-06-26
    • 1970-01-01
    • 2020-11-08
    相关资源
    最近更新 更多