如何知道R中某个值在光栅中出现的百分比?

如何知道R中某个值在光栅中出现的百分比?,r,raster,R,Raster,如果有光栅r: 现在我想知道,与其他光栅相比,该光栅中出现的0.5值的百分比是多少,换句话说,在该光栅的所有像素中,有多少像素包含该值 谢谢我冒昧地使用了不同的样本数据,因为您的评论表明您对连续数据不感兴趣 values(r) <- rpois(ncell(r),3) 请注意,2用作字符串,因为它是向量的标签。您是指至少为0.5的值还是类似的值?使用runif,您几乎永远不会得到完全等于0.5000000000的值…请尝试sumr[]==2/lengthr@nicola-是的。如果光栅太

如果有光栅r:

现在我想知道,与其他光栅相比,该光栅中出现的0.5值的百分比是多少,换句话说,在该光栅的所有像素中,有多少像素包含该值


谢谢

我冒昧地使用了不同的样本数据,因为您的评论表明您对连续数据不感兴趣

values(r) <- rpois(ncell(r),3)

请注意,2用作字符串,因为它是向量的标签。

您是指至少为0.5的值还是类似的值?使用runif,您几乎永远不会得到完全等于0.5000000000的值…请尝试sumr[]==2/lengthr@nicola-是的。如果光栅太大而无法在内存中保存其所有值,您是否知道最好的方法是什么?sumvaluesr==2,na.rm=TRUE/lengthrs如果您愿意,您可以自己排除它们。此时您应该知道如何操作:sumr[]==2,na.rm=TRUE/sum!is.nar[]有趣的是,tableas.vector比raster::freqr快得多。
values(r) <- rpois(ncell(r),3)
prop.table(table(as.vector(r)))["2"]
   2 
0.19