我有以下数据集(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试图面对类似的错误。有什么建议吗?
答案 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)