问题描述
)
我想使用 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]])))
总结:我有两个列表:
-
split_data_env_df
包含 2 个数据框,(一个有 3 行,第二个有 2 行,每行代表物种位置的环境变量)和每个 df(温度和降水)的 2 列
t_mean | precip | t_mean2 | precip2 | |
---|---|---|---|---|
value1 | value2 | value7 | value8 | |
value3 | value4 | value9 | value10 | |
value5 | value6d> |
-
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 (将#修改为@)