如何在R中创建10个随机栅格? [英] How to create 10 random rasters in R?
本文介绍了如何在R中创建10个随机栅格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望在计划存储的循环中生成几个随机栅格.我尝试了以下操作,但不起作用:
I am looking to generate several random raster in a loop that I plan to store. I tried something (below) that but it does not work:
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))}
感谢您的帮助.
推荐答案
有一种更简单的方法:
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))))
这会为您提供一个包含10个随机栅格的列表rr
.
This gives you a list rr
with 10 random rasters.
可以选择使用lapply
,也可以使用冗长的循环.但是像这样,栅格直接存储在整齐的列表中.
Using lapply
is optionally, you could also use a verbose loop. But like this the rasters are stored directly in a tidy list.
这篇关于如何在R中创建10个随机栅格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文