我正在使用该dist {stats}
函数来计算点之间的距离,我的问题是我有 24469 个点,并且 dist 函数的输出给了我一个长度为 18705786 的向量,而不是矩阵。我已经尝试过 export as.matrix
,但文件是 2 大。
我如何才能访问每个距离对应的点?
例如which(distance<=700)
给我向量中的位置,但我怎样才能得到这个距离对应的点的信息?
我正在使用该dist {stats}
函数来计算点之间的距离,我的问题是我有 24469 个点,并且 dist 函数的输出给了我一个长度为 18705786 的向量,而不是矩阵。我已经尝试过 export as.matrix
,但文件是 2 大。
我如何才能访问每个距离对应的点?
例如which(distance<=700)
给我向量中的位置,但我怎样才能得到这个距离对应的点的信息?
您可以尝试一些事情,也取决于您的确切需要:
dist
不使用 R 但我相信 C 来执行计算。这可能意味着您获得了结果,但必须等待一段时间。或者,优秀的Rcpp
包可以让你用 C/C++ 写下来,可能会快得多。bigmemory
存储距离矩阵这样的包。然后你在一个循环中构建它并将它迭代地存储在 bigmemory 对象中(我之前没有使用过 bigmemory,所以我不知道确切的细节)。然后在构建矩阵之后,您可以访问它以提取您想要的结果。实际上,在 R 中处理大数据的所有技巧都适用于这个项目符号。参见例如R SO 关于大数据的帖子。一些有趣的链接(发现谷歌搜索r distance matrix for large vector
):