如何解决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]])))
总结:我有两个列表:
-
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 举报,一经查实,本站将立刻删除。