如何纠正"零距离"在R中执行Mantel测试时出错?

时间:2016-12-06 16:09:48

标签: r statistics zero

我有以下数据集(dat):

popfst       long       lat
0.9         77.416667  23.25000
0.2         -6.116667  36.70000
0.3         -77.028333 -12.04333
0.3         -86.929000  40.42400

我希望对以下数据进行壁炉架测试。我在R

中编写了以下代码
location.distance <- dist(cbind(dat$long,dat$lat))
genetic.distance <- dist(dat$popfst)
as.matrix(location.distance)[1:4,1:4]
as.matrix(genetic.distance)[1:4,1:4]
mantel.rtest(location.distance, genetic.distance, nrepet = 9999)

然而,当我运行最后一行时,我收到以下错误

Error in if (any(distmat < tol)) warning("Zero distance(s)") : 
missing value where TRUE/FALSE needed

我不确定如何纠正此错误。我没有看到other who have试图面对类似的错误。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

代码中不需要这些行,因为dist()的输出是矩阵: as.matrix(location.distance)[1:4,1:4]

as.matrix(genetic.distance)[1:4,1:4]

此外,popfst列中有两个值相等(0.3)。 所以距离是0。

尝试使用更多小数(0.345不同于0.322,因此距离大于0)