问题描述
我目前正在尝试在运行 maxent 之前制作一个 biosfile,但一直面临这个错误:我想知道是否有人以前遇到过这个问题并修复了它?
bg <- xyFromCell(dens.ras2speciesocc,sample(which(!is.na(values(subset(env,1)))),10000,prob=values(dens.ras2speciesocc)[!is.na(values(subset(env,1)))])) -- this runs fine and then:
enmeval_resultsspeciesocc <- ENMevaluate(speciesocc,env,method= "randomkfold",kfolds = 10,algorithm='maxent.jar',bg.coords = bg)
返回此错误:
'Error in ENMevaluate(speciesocc,method = "randomkfold",:
unused argument (kfolds = 10)'
有人知道吗?
解决方法
来自link:
occ、env、bg.coords、RMvalues、fc、occ.grp、bg.grp、方法、bin.output、rasterPreds、clamp、progbar: 先前版本中的这些参数向后兼容,以避免旧脚本出现不必要的错误,但在更高版本中,这些参数将被永久弃用。
,我遇到了同样的问题,然后删除了 kfolds 参数以查看默认值 (kfolds=5) 是否会运行,但我收到了以下消息:
Error in ENMevaluate(occ,env,method = "randomkfold",algorithm = "maxent.jar",:
Datasets "occs" and "bg" have different column names. Please make them identical and try again.
然后我检查了我的 bg 列,它是“x”和“y”,而不是我的 occ 文件中的“经度”和“纬度”。
那并没有解决它 - 它又回到给我最初的错误消息 - 但我确信它也是导致问题的原因!
但是,
我查看了 RMvalue(正则化乘数)和 fc(要素类)并将它们添加到代码中,如下所示:
enmeval_results <- ENMevaluate(occ,bg.coords = bg,method = 'randomkfold',RMvalues = seq(0.5,4,0.5),fc = c("L","LQ","H","LQH","LQHP","LQHPT"),algorithm='maxent.jar')
它奏效了!显然,将 fc 和 RMvalues 更改为最适合您的值。 我希望这对你也有用! 安琪莉基