R中有没有办法在不手动指定的情况下确定生成的集群数量?
在从字符串值中提取一些“字母”之后,我将具有 30000 个不同值的变量放入集群中,以便我确定哪些值应该被同等对待。因为有些值应该是相同的,但在空格、标点符号等方面不同。例如,
Emilia Clarke
Emilia Clark e
应归类为 1
我制作了一个 30000 x 30000 矩阵,其中元素是一个单词到另一个单词的距离。
#Get all letters from a string
> extract_letters <- lapply(str_split(data01,""),function(x) names(table(x)))
#Get the distance of . I produced a 30000x30000 matrix
> compute_dist <- adist(extract_letters)
#Cluster
> hc <- hclust(as.dist(compute_dist))
#Plot via dendogram
> plot(hc)
下面的代码是我用于较小数据的代码,不过,这在这里不适用,因为由于大量输入,我无法检查绘图。凌乱的树状图,所以我无法检测输出了多少簇
> rect.hclust(hc,k=7)
我不知道要生成的集群数量。我依赖于 hclust 本身的输出,所以我没有办法做 cutree,因为我需要指定参数 k
cutree(hc, k = 7)