我有一个包含 5000 多个观察值的数据框。在我尝试使用层次聚类分析我的数据时,我有 8 个聚类,其中一些聚类包含几个 100 或 1000 个单独的观察值。
# Cut tree into 8 groups
cutree_hclust <- cutree(hclust.unsupervised, k = 8)
# Number of members in each cluster
table(cutree_hclust)
接下来是每个集群大小的说明:
cutree_hclust
1 2 3 4 5 6 7 8
867 61 14 310 1135 432 119 5
为了了解不同集群中每个观察值的变量组合,我认为将 8 个集群作为数据框可能是一个想法,因此我可以分别分析它们。这是因为我不知道不同列中有哪些不同的行,因此不知道整个数据帧(Complete_df)中的模式是什么。
但是,我怎样才能制作这些新的数据框?
我可以通过 fx 看到我假设的不同集群中的行:
rownames(MY_df)[cutree_hclust == 7]
[1] "60" "72" "92" "97" "110" "210" "211" "267"
[9] "565"
但如果我输入:
h_clust <- as.dataframe( rownames(MY_df)[cutree_hclust == 7])
我只得到这个集群中有哪些行的视图(作为列表),并且不包括所有其他列。
如何在名为 Complete_df 的数据框中选择这些特定行,以便我可以看到每个集群的整体变量组合是什么?
我尝试了以下方法:
rn <- rownames(MY_df)[cutree_hclust == 7]; subset(Complete_df, rn %in% rownames(MY_df))
- 这来自: R 如何选择几行来制作一个新的数据框
和
Clust_7 <- rownames(MY_df)[cutree_hclust == 7]
Clust_7_df <- data.frame(matrix(unlist(Clust_7), nrow=9, byrow=T))
上述尝试没有奏效。
我期待收到任何可以提供帮助的人的回音——因为我自己无法解决这个问题:-)