通过循环 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]
。
我目前正在研究一个函数,该函数将 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]
。