我正在尝试使用AdehabitatHR LoCoH.k.area
优化 k 参数,当拓扑无法生成多边形时,它停止运行。 消息是:
rgeos_PolyCreateComment:孤立孔,找不到包含多边形 对于索引 12 处的孔。
我已经使用 LoCoH.k 进行了多次成功的单次运行,只有少数由于孤儿孔而未运行。
是否可以保持LoCoH.k.area
循环向量中指定的 k 值,即使前面的 k 值产生孤立孔?
谢谢,珍妮
您不能LoCoH.k.area
将函数包装在tryCatch
中。 例如,带有krange = 5:9
参数的函数抛出:
rgeos::createPolygonsComment(oobj( 中的错误: rgeos_PolyCreateComment:孤立孔,找不到包含多边形 对于分度 6 处的孔
请参阅下面的代码:
library(adehabitatHR)
data(puechabonsp)
locs <- puechabonsp$relocs
## The call below throws an error
## LoCoH.k.area(locs[, 1], krange = 5:9)
pdf()
y <- sapply(5:9, function(x) tryCatch(
expr = cbind(LoCoH.k.area(locs[, 1], krange = x), k = x),
error = function(e){},
finally = NULL))
dev.off()
do.call(rbind, y)
输出:
Brock Calou Chou Jean k
1 25.21552 38.61693 83.37389 80.97771 8
2 27.37161 39.10789 86.45349 83.44156 9