在群集上循环,返回为Vector

时间:2018-05-26 07:17:52

标签: r loops for-loop

我有一个像这样的for循环

for (n in 2 :10){somc[n] <- cutree(hclust(dist(som_model$codes[[1]])),n)}

结果是这样的错误

  

在somc [n]&lt; - cutree(hclust(dist(som_model $ codes [[1]]))中,n):     要替换的项目数量不是替换长度的倍数

请帮我解决这个问题。我想将结果作为描述2到10个簇的向量。

1 个答案:

答案 0 :(得分:0)

请问您能提供更多信息吗? somc是一个列表吗?这个等式的右边不会产生一个数字。我以前没用过这个,但这就是我可以接近它的方式:

input <- matrix(runif(100), ncol = 2)
output_list <- list()
num_clusters <- 2:10
for(i in num_clusters){
  dist_matrix    <- dist(input)
  my_cluster     <- hclust(dist_matrix)
  cut_my_cluster <- cutree(my_cluster, i)
  output_list[[paste(i)]] <- cut_my_cluster
}
output_list

这适用吗?

最佳, 强尼