如何在 R 中创建 10 个随机栅格?

arm*_*min 1 random loops r raster

我希望在计划存储的循环中生成几个随机栅格。我尝试了一些(如下)但它不起作用:

r1= raster(nrows = 1, ncols = 1, res = 0.5, xmn = -1.5, xmx = 1.5, ymn = -1.5, ymx = 1.5, vals = 0.3)

a<- 10
for (i in 1:length(a)){
values(r1[i]) = round(runif(ncell(r1[i]), 0, 1))}
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

Val*_*Val 5

有一个更简单的方法:

library(raster)

r1 <- raster(nrows = 1, ncols = 1, res = 0.5, xmn = -1.5, xmx = 1.5, ymn = -1.5, ymx = 1.5, vals = 0.3)

rr <- lapply(1:10, function(i) setValues(r1,runif(ncell(r1))))
Run Code Online (Sandbox Code Playgroud)

rr这将为您提供包含 10 个随机栅格的列表。

使用lapplyis 是可选的,您也可以使用详细循环。但像这样,栅格直接存储在一个整洁的列表中。