【发布时间】:2015-06-23 19:07:28
【问题描述】:
我正在尝试计算 R 中每个树的标记数之间的欧几里德距离。我的数据集大约有 43000 行。我正在使用
mat.co <- cbind(co.trees$gx, co.trees$gy)
m <- as.matrix(head(dist(mat.co, diag = TRUE, upper = TRUE)))
as.dist(m, diag = TRUE, upper = TRUE)
我的问题是:
1) 矩阵不会产生我想要的列名和行名。现在列名和行名是 1、2、3 等。我希望列名和行名都是树的标签号,这样我就可以找出相对距离。
另外,矩阵不显示 1 和 1 之间的距离,应该是 0。这也导致了后面部分的问题,这里我使用了as.dist。
2) 当我申请as.dist 时,距离值与相应的标签号不匹配。现在,除了之前没有出现的 0 值之外,下一个值也丢失了。
我在代码行#2 中使用了head,因为我收到了一条到达 R 内存限制的错误消息。我是 R 新手;非常感谢任何详细的解释!非常感谢你!
【问题讨论】:
-
我发现如果我首先使用这个:
as.dist(head(mat.co, diag= TRUE, upper = TRUE)),紧接着cbind,它实际上在行和列中给了我正确的标签号。但显示的值是标签号的 x 坐标。如何让 R 输入在相应列和行中计算的距离? -
下次如果您寻求帮助,请至少添加语言标签
-
@DavidArenburg 谢谢你的提醒。