Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I'm trying to retrieve the following pixel statistics:

  1. Proportion of zero value pixels:

    [nº of zero value pixels / (total nº of pixels - nº of NA pixels)]

  2. Proportion of pixels smaller than 3rd quartile (= 0.75):

    [nº of pixels < 3rd quartile / (total nº of pixels - nº of NA pixels)]

Here is a reproducible example:

library(raster)  
f <- system.file("external/test.grd", package="raster")  
r <- raster(f) #r is the object  
plot(r)  
summary(r)
share|improve this question

1 Answer 1

up vote 3 down vote accepted

One way of doing this is to work with the matrix:

#Raster to matrix
r_matrix<-as.matrix(r)
#Proportion of zero value pixels
P0<-length(which(r_matrix==0))/(length(r_matrix)-length(which(is.na(r_matrix))))
#Proportion of values < 3rd Quantile     
value=as.numeric(summary(as.vector(r_matrix))[5])#position of the 3rd quantile value
P3<-length(which(r_matrix<value))/(length(r_matrix)-length(which(is.na(r_matrix))))
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.