我用“biotools”包来计算Tocher的聚类。数据有17个品种,分为6个类别。代码和结果如下。
data(garlicdist)
garlic <- tocher(garlicdist)
garlic
> Tocher's Clustering
$`cluster 1`
[1] 8 9 12 4 10 2 7 15
$`cluster 2`
[1] 1 6 14
$`cluster 3`
[1] 11 13
$`cluster 4`
[1] 3 5
$`cluster 5`
[1] 16
$`cluster 6`
[1] 17
现在我想从这个Tocher的聚类中创建一个矩阵数据,其中各种类型将按顺序排列,聚类名称和聚类编号将根据图片“品种分布”中显示的以下数据进行放置。{{3 }}
如果有人帮我这样做,我将不胜感激。
答案 0 :(得分:1)
我认为您需要data.frame / tibble,而不是矩阵,因为您通常不使用cluster
字符列(在预期结果中)进行计算。您的群集列表位于garlic$clusters
。
cluster
最终代码:
library(biotools)
library(tidyverse)
library(stringr)
data(garlicdist)
garlic <- tocher(garlicdist)
cluster_df <- garlic$clusters %>%
sapply("length<-", n = max(length(.))) %>%
as_tibble() %>% gather(cluster, variety) %>%
mutate(cluster_no = str_extract(cluster, "[:digit:]+")) %>%
drop_na()