如何在R中创建10个随机栅格? [英] How to create 10 random rasters in R?

查看:108
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆