Sdm maxent enmeval '未使用的参数 (kfolds = 10)'

问题描述

我目前正在尝试在运行 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 更改为最适合您的值。 我希望这对你也有用! 安琪莉基