Purrr 包将物种名称添加到 SSDM 中的每个输出名称
Purrr package add species names to each output name in SSDM
我有一个物种列表,我是 运行 一个基于每个物种的数据集过滤的集成 SDM 建模函数,以便从数据集中为每个物种提供一个集成 SDM。
我使用 purrr 包来获取它 运行,当没有添加命名约定时,代码工作正常。但是,当它为每个物种输出 Ensemble.SDM 时,它们是都命名为相同的东西“ensemble.sdm”,所以当我想堆叠它们时,我不能,因为它们都被命名为相同的东西。
我希望能够为模型的每个输出命名一些不同的东西,最好与在行中挑选出的物种名称相关联:data <- Occ_full %>% filter(NAME == .x)
工作的代码写在下面:
list_of_species <- unique(unlist(Occ_full$NAME))
# Return unique values
output <- purrr::map(limit_list_of_species, ~ {
data <- Occ_full %>% filter(NAME == .x)
ensemble_modelling(c('GAM'), data, Env_Vars,
Xcol = 'LONGITUDE', Ycol = 'LATITUDE', rep = 1)
})
下面是我试图在其中命名的代码,但它不起作用,它用行号的很多重复来命名它。
output <- purrr::map(limit_list_of_species, ~ {
data <- Occ_full %>% filter(NAME == .x)
label <- as.character(data)
ensemble_modelling(c('GAM'), data, Env_Vars,
Xcol = 'LONGITUDE', Ycol = 'LATITUDE', rep = 1, name = label )
})
有人可以帮我吗?我只是希望每个“输出”都以过滤器中指定的物种名称命名。谢谢
尝试使用 split
和 imap
-
list_of_species <- split(Occ_full, Occ_full$NAME)
output <- purrr::imap(list_of_species,~{
ensemble_modelling(c('GAM'), .x, Env_Vars,Xcol = 'LONGITUDE',
Ycol = 'LATITUDE', rep = 1, name = .y)
})
split
将确保 list_of_species
被命名为可以在 imap
.
中使用
我有一个物种列表,我是 运行 一个基于每个物种的数据集过滤的集成 SDM 建模函数,以便从数据集中为每个物种提供一个集成 SDM。
我使用 purrr 包来获取它 运行,当没有添加命名约定时,代码工作正常。但是,当它为每个物种输出 Ensemble.SDM 时,它们是都命名为相同的东西“ensemble.sdm”,所以当我想堆叠它们时,我不能,因为它们都被命名为相同的东西。
我希望能够为模型的每个输出命名一些不同的东西,最好与在行中挑选出的物种名称相关联:data <- Occ_full %>% filter(NAME == .x)
工作的代码写在下面:
list_of_species <- unique(unlist(Occ_full$NAME))
# Return unique values
output <- purrr::map(limit_list_of_species, ~ {
data <- Occ_full %>% filter(NAME == .x)
ensemble_modelling(c('GAM'), data, Env_Vars,
Xcol = 'LONGITUDE', Ycol = 'LATITUDE', rep = 1)
})
下面是我试图在其中命名的代码,但它不起作用,它用行号的很多重复来命名它。
output <- purrr::map(limit_list_of_species, ~ {
data <- Occ_full %>% filter(NAME == .x)
label <- as.character(data)
ensemble_modelling(c('GAM'), data, Env_Vars,
Xcol = 'LONGITUDE', Ycol = 'LATITUDE', rep = 1, name = label )
})
有人可以帮我吗?我只是希望每个“输出”都以过滤器中指定的物种名称命名。谢谢
尝试使用 split
和 imap
-
list_of_species <- split(Occ_full, Occ_full$NAME)
output <- purrr::imap(list_of_species,~{
ensemble_modelling(c('GAM'), .x, Env_Vars,Xcol = 'LONGITUDE',
Ycol = 'LATITUDE', rep = 1, name = .y)
})
split
将确保 list_of_species
被命名为可以在 imap
.