R 如何精确取消选择xy%的网格单元?

R 如何精确取消选择xy%的网格单元?,r,random,raster,R,Random,Raster,从10*10光栅中,我想取消选择,例如90%,即10%保持可见。为此,我修改了代码,请参见下文。但是在结果像素中存在一些变化(剩余超过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') #

从10*10光栅中,我想取消选择,例如90%,即10%保持可见。为此,我修改了代码,请参见下文。但是在结果像素中存在一些变化(剩余超过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)

r使用

r[sample(ncell(r),ncell(r)*0.9)] <- NA
r[样本(ncell(r),ncell(r)*0.9)]