首页 > 解决方案 > 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, env, method = "randomkfold", kfolds = 10,  : 
  unused argument (kfolds = 10)'

有人有什么主意吗?

标签: maxent

解决方案


我遇到了同样的问题,然后删除了 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 列,它是我的 occ 文件的“x”和“y”而不是“经度”和“纬度”。

这并没有解决它 - 它回到给我最初的错误消息 - 但我相信它也导致了这个问题!

但是之后,

我查看了 RMvalue(正则化乘数)和 fc(要素类)并将它们添加到代码中,如下所示:

    enmeval_results <- ENMevaluate(occ, env, bg.coords = bg, method = 'randomkfold',
                           RMvalues = seq(0.5, 4, 0.5),
                           fc = c("L", "LQ", "H", "LQH", "LQHP", "LQHPT"),
                           algorithm='maxent.jar')

它奏效了!显然,将 fc 和 RM 值更改为最适合您的值。我希望这也适用于你!安杰利基


推荐阅读