我使用dist {stats}
函数来计算点之间的距离,我的问题是我有24469个点,而dist函数的输出给了我一个长度为18705786的向量,而不是矩阵。我已尝试导出as.matrix
,但文件大2。
如何访问每个距离对应的点?
例如which(distance<=700)
给出了向量中的位置,但是如何获取该距离对应的信息?
答案 0 :(得分:5)
你可以尝试一些东西,也取决于你需要的东西:
dist
不使用R但我相信C来执行计算。这可能意味着您获得了结果,但必须等待一段时间。或者,优秀的Rcpp
包允许您在C / C ++中编写它,使它可能更快。bigmemory
之类的包。然后你在一个循环中构建它并将它迭代地存储在bigmemory对象中(我之前没有使用过bigmemory,所以我不知道确切的细节)。然后在构建矩阵后,您可以访问它以提取所需的结果。实际上,处理R中的大数据的所有技巧都适用于此项目。参见例如R SO posts on big data。一些有趣的链接(找到r distance matrix for large vector
的Google搜索):