我有一份分发建模的采样坐标列表,称为species.sampl
作为data.frame:
lon lat
1 6.996322 59.44065
2 7.018389 58.91420
3 7.334684 59.72563
4 7.285946 58.92459
5 8.237148 59.81058
6 9.208864 59.84605
7 16.672489 58.39471
8 18.104395 59.32653
我想开始检查空间排序偏差,如教程(Dismo Tutorial,第40页)中所述:
nr <- nrow(species.sampl)
s <- sample(nr, 0.25 * nr)
pres_train <- species.sampl[-s, ]
pres_test <- species.sampl[s, ]
nr <- nrow(backgr)
s <- sample(nr, 0.25 * nr)
back_train <- backgr[-s, ]
back_test <- backgr[s, ]
sb <- ssb(pres_test, back_test, pres_train)
sb[,1] / sb[,2]
结果是:0.02183502 建议采用此程序从仅存在物种分布模型的交叉验证中使用的评估数据中去除“空间分类偏差”(ssb)。
下一部分是做成对距离采样:
i <- pwdSample(pres_test, back_test, pres_train, n=1, tr=0.1)
pres_test_pwd <- pres_test[!is.na(i[,1]), ]
back_test_pwd <- back_test[na.omit(as.vector(i)), ]
sb2 <- ssb(pres_test_pwd, back_test_pwd, pres_train)
这就是线路,它停在(Fehler in x [i ,, drop = FALSE]:IndizierungaußerhalbderGrenzen)或英文: x [i, ,drop = FALSE]:在边界外编制索引
使用ssb()或pwdSample()时是否有错误?或者没有足够的坐标来消除空间排序偏差?