【发布时间】:2019-09-30 14:08:18
【问题描述】:
我有以下功能:
tANN_matrix<-function(LSH_result_tables,t){
i=dim(LSH_result_tables)
v=i[2]
tann_matr=matrix(data=NA,nrow=i[2],ncol=t)
tann_matr=lapply(1:v, function(x) rbind(tann(x,LSH_result_tables,t)))
tann_matr=matrix(unlist(tann_matr),ncol=t,byrow = TRUE)
return(tann_matr) }
该函数运行良好,它允许计算(t-approximate nearest neighbors 用于数据库中的向量)。
LSH_result_tables:表示一个 3 维哈希表(例如 res 变量)
函数tANN_matrix的执行给出以下结果:
问题:如何将此输出转换为矩阵?
注意: rbind 中的函数 tann(x, LSH_result_tables ,t) 定义如下:
tann<-function(point_index,LSH_result_tables,t){
integer_var=dim(LSH_result_tables)[3]
a=LSH_result_tables
nearests=c()
foreach(i=1:integer_var) %do%
if(!(all(a[,,i] == a[,1,i]))){
nearests=unique(append(nearests,equal_cols(a[,,i],point_index,t)))
while (length(nearests) >= t ) break
}
return(nearests[1:t])
}
【问题讨论】:
标签: r dataframe matrix nearest-neighbor