R: MaxEnt 物种分布建模与 lapply -> args 暗示不同的行数

问题描述

)

我想使用 lapply 将 dismo::maxent 应用于多个数据集的列表。但是我收到错误消息,指出参数具有不同的行数,这很奇怪,因为我从另一个数据集创建了一个数据集,并且它们应该具有相同的行数(通过 nrow() 证明)。>

函数的结构如下:

maxent(x=dataFrame of environmental conditions at species locations (or background samples)
p=vector of 0 or 1 for species absence(0) or presence(1))

我试过了:

me_lapply <- lapply(X=split_data_env_df,FUN=maxent,dummy_presence_list)

dummy_presence_list 是由哪里生成

dummy_presence_list <- list(rep(1,nrow(split_data_env_df[[1]])),rep(1,nrow(split_data_env_df[[2]])))

总结:我有两个列表:

  1. split_data_env_df 包含 2 个数据框,(一个有 3 行,第二个有 2 行,每行代表物种位置的环境变量)和每个 df(温度和降水)的 2 列
t_mean precip t_mean2 precip2
value1 value2 value7 value8
value3 value4 value9 value10
value5 value6​​d>
  1. dummy_presence_list 包含 2 个向量:c(1,1,1) 和 c(1,1) 告诉 maxent 公式 split_data 中的环境参数意味着物种存在于这些位置

我想使用 lapply 在每个列表的第一个元素 split_data_env_df & dummy_presence_list 和所述列表的第二个元素上运行 maxent(x,p)

通过 lapply 的 maxent 函数返回参数的行数不同:3,2

我认为这与函数处理数据的方式有关,而不是与数据本身有关,因为行数实际上是相同的。请注意,这只是用于测试目的的简化数据集。我的实际数据集要大得多,所以让 lapply 工作会很好。谢谢:-)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)