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.

CHM = canopy height model

I am very new to R (specially for GIS purposes) and I am struggling a bit in getting 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 quantile = [nº of <3rd quantile pixels /(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
    
Actually, number 2's answer is 0.75, but the point I was trying to made was to learn how to use an object/output from other functions inside the code. –  Andre Silva Aug 15 '13 at 19:14

1 Answer 1

up vote 2 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.