I am trying to create a new raster layer that is made up of the mean values from 7 other raster layers. I get results using overlay function mean:
mean <- overlay(2000, 2001, 2002, 2003, 2004, 2005, fun=mean)
The results I get however are skewed by a large amount 0 values in many of the cells. As the data within the rasters changes each year some cells could have 0 values one year and a value of 56 the following, for example any particular cell may contain the following:
+----------+---------+
| Year | Value |
+----------+---------+
| 2000 | 0 |
| 2001 | 54 |
| 2002 | 78 |
| 2003 | 102 |
| 2004 | 0 |
| 2005 | 0 |
+----------+---------+
So while the mean is:39, I am trying to achieve the mean ignoring the 0 values so the result should be: 78.
I have tried changing the 0 values to NA:
2000[2000 == 0]<-NA
2001[2001 == 0]<-NA
2002[2002 == 0]<-NA
2003[2003 == 0]<-NA
2004[2004 == 0]<-NA
2005[2005 == 0]<-NA
Which works fine, however the bit that I can't get to work is the calculating of the mean as before but with ignoring these NA values. I have tried
mean <- overlay(2000, 2001, 2002, 2003, 2004, 2005, fun=mean, na.rm=TRUE)
but the results this returns are incorrect. So I am just looking for a way to find the mean whilst ignoring zero values or NA values.