如何完全取消选择xy%的网格单元格?

时间:2017-05-31 09:24:22

标签: r random raster

从10 * 10光栅中我想取消选择例如90%,即10%仍然可见。为此,我改编了this代码,见下文。但是结果像素存在一些变化(保留10个或更少,然后10个像素)。是否有可能设置随机选择的精度?

r<- raster(ncol=10, nrow=10, xmn=0, ymn=0, xmx=10, ymx=10)#create raster
values(r)<- 1:ncell(1) #asigne 1 to each raster cell
#plot(r, col='black') #plot raster

r[runif(10*10) >= 0.15] <- NA # Randomly *unselect* XY% of the data

par(pty="s", mar=c(1,1,1,1))
plot(r, col='black', legend=FALSE, axes=F) #plot raster
box(lty=1, col="black", lwd=5)

1 个答案:

答案 0 :(得分:1)

使用

而不是runif
r[sample(ncell(r),ncell(r)*0.9)] <- NA

随机选取90%的细胞。