首页 > 解决方案 > 通过循环命名变量 R

问题描述

我目前正在研究一个函数,它将返回点和 p 簇之间的距离。

which_cluster<-function(coord){
cluster<-get_cluster(data) # return a matrix
 nbr_clusters=nrow(cluster)
 nbr_dim=ncol(cluster)
 liste<-c()

 for(i in 1:nbr_clusters){
  dist_c_i=0
  for (j in nbr_dim){
   paste('vec_', i, sep = '') 
   dim_j_c_i=cluster[i,j]
   dist_c_i<-dist_c_i+ (dim_j_c_i-coord[i])^2
  }
  dist_c_i<-sqrt(dist_c_i)
  liste<-liste[,dist_c_i]
  }

 return(liste)
 }

我希望变量名中的“i”和“j”被识别为 for 循环的 i 和 j。

谢谢您的帮助。放轻松,我是初学者;)

标签: rloopsvariablesrstudiocluster-analysis

解决方案


不。

声明过多的变量是缓慢且难以管理的。

相反,使用列表和矩阵。

当您似乎尝试做一个距离矩阵时,将其存储为一个矩阵,由 I 和 j 索引,即dist[i,j].


推荐阅读