从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)
答案 0 :(得分:1)
使用
而不是runif
行
r[sample(ncell(r),ncell(r)*0.9)] <- NA
随机选取90%的细胞。