我可以使用循环来简化它吗?我需要制作50多个,目前我正在手动制作(例如,r、r1、r2、r3、r4…(
有没有一种方法可以在一个更简单的代码中完成所有50项?
r <- raster(extent(-180, 180, -90, 90), ncols = 150, nrows = 80)
r1 <- raster(extent(-180, 180, -90, 90), ncols = 150, nrows = 80)
r2 <- raster(extent(-180, 180, -90, 90), ncols = 150, nrows = 80)
您可以将函数assign
映射到序列上:
library(raster)
library(purrr)
my_raster <- raster(extent(-180, 180, -90, 90), ncols = 150, nrows = 80)
seq(50) %>%
walk(~ assign(x = paste0("r", .x), my_raster, envir = globalenv()))
请记住,这会把你的全球环境搞得一团糟。将光栅分组为一个list
:要干净得多
my_rasters <-
seq(50) %>%
map(~ paste0("my_raster_", .x)) %>%
set_names() %>%
map(~my_raster)
# access one raster
my_rasters$my_raster_23