通过循环 R 命名变量

Name variable via a loop R

我目前正在研究一个函数,该函数将 return 点和 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

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

paste0()之后使用assign():

assign(paste0("dim_", j, "_c_", i), cluster[i,j]) 

不要。

声明过多的变量很慢,而且难以管理。

改为使用列表和矩阵。

你似乎在尝试做一个距离矩阵,将它存储为一个矩阵,由 I 和 j 索引,即 dist[i,j]