r - 如何将此数据结构转换为矩阵?
问题描述
我有以下功能:
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
的执行给出以下结果:
问题:如何将此输出转换为矩阵?
注意:函数tann(x, LSH_result_tables ,t)定义rbind
如下:
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])
}
解决方案
我找到了解决方案,我应该将列表转换为矩阵,所以我需要使用:
install.packages("sprof", repos="http://R-Forge.R-project.org")
library("sprof", lib.loc="~/R/win-library/3.5")
list_1 <- list(v1=7:9,v2=15, v3=11:15)
matrix_1=list.as.matrix(list_1)
推荐阅读
- ruby - Ruby语法问题。我不知道如何解决
- visual-foxpro - 了解 Foxpro IF 语句
- bash - 添加用户的脚本,然后显示消息是否已创建
- sql - 查找链中的最后一条记录 - 客户合并流程
- c# - Unity Network Discovery 广播非常不一致,但重新安装后有效(Android)
- function - 如何通过反射将函数声明为类型?
- c# - 如何保存 Windows 程序的电子邮件/密码组合?
- python - 有效地合并 pandas 中的子序列
- python - 重定向加载旧内容?
- hadoop-yarn - flink web.port在yarn模式下无法正确配置