maxent - 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)'
有人有什么主意吗?
解决方案
我遇到了同样的问题,然后删除了 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 值更改为最适合您的值。我希望这也适用于你!安杰利基
推荐阅读
- php - 检查两个变量是否匹配
- api - 接受身份验证令牌作为参数是否安全?
- spring - Spring Integration:使用 application/octet-stream 内容类型的 http 转换器问题
- javascript - Cordova 套接字发送 Unicode
- sql - 查找所有属性值都在另一个实体的属性值内的所有实体
- javascript - 通过与另一个对象(JavaScript)进行比较,有条件地向 JSON 对象添加新属性
- java - 将数据从通知发送到活动类而不重新启动意图
- php - 从字符串中提取base64图像并以表格形式发布
- python - 带有 \n 分隔词的 Python 字符串文本文件不会拆分
- r - 来自 kableExtra 的 RMarkdown Formattable 样式呈现 html 代码 - 未格式化的值