I have been implementing a workflow previously devised ArcGIS 10.2 in R. The process involves a discretization of an integer raster (the cells are counts) through quantile reclassification.

I've discovered that the ArcGIS quantile classify tool produces completely different results to different R packages and GRASS.

For quantile classification where n=6 produces the following breaks(showing break value start points): ArcGIS: 0,1,3,6,11,97

R (classInt package): 0,0,0,0,0,0,97 - which effectively yields a 2 class map rather than the desired 6 class map.

My raster data does include a large proportion of a single value (0 in my case) which must be skewing the allocation of equal number of values into quantile bins.

So I guess ArcGIS is doing something more to determine the breaks. Does anyone know what this is and how I may implement it myself?

FYI, the statistics of the raster are: Min = 0 Max = 97 Mean = 0.601 SD = 3.306

Note I've tried various different R packages and functions including classInt, binr and cut2 (table(cut2(rValues, g=nClassBreaks,levels.mean = TRUE)), and also GRASS (r.reclass). All give same or very similar results to each other. But ArcGIS is doing something wildly different.

  • 1
    Have you tried setting unique=TRUE? Also, you can pass in arguments for the quantile function, so have you tried setting the type parameter, which specifies which of 9 algorithms to use? – nmpeterson Nov 24 '15 at 16:26
  • I did try going through different parameters in classInt including unique=TRUE and also using the quantile() method on it's own with each of the 9 algorithm choices but they all gave the same break values. – Julian Rosser Nov 24 '15 at 17:30
  • Would you be able to provide more detailed descriptions of the precise steps that you are performing in ArcGIS for Desktop and R when you get those results, please? It may help to attract more potential answerers to your question. – PolyGeo Dec 6 '15 at 22:35