# binMean2D: Bin-average f=f(x,y) In oce: Analysis of Oceanographic Data

## Description

Average the values of a vector `f(x,y)` in bins defined on vectors `x` and `y`. A common example might be averaging spatial data into location bins.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```binMean2D( x, y, f, xbreaks, ybreaks, flatten = FALSE, fill = FALSE, fillgap = -1 ) ```

## Arguments

 `x` vector of numerical values. `y` vector of numerical values. `f` Matrix of numerical values, a matrix f=f(x,y). `xbreaks` Vector of values of `x` at the boundaries between bins, calculated using `pretty``(x)` if not supplied. `ybreaks` Vector of values of `y` at the boundaries between bins, calculated using `pretty``(y)` if not supplied. `flatten` A logical value indicating whether the return value also contains equilength vectors `x`, `y`, `z` and `n`, a flattened representation of `xmids`, `ymids`, `result` and `number`. `fill` Logical value indicating whether to fill `NA`-value gaps in the matrix. Gaps will be filled as the average of linear interpolations across rows and columns. See `fillgap`, which works together with this. `fillgap` Integer controlling the size of gap that can be filled across. If this is negative (as in the default), gaps will be filled regardless of their size. If it is positive, then gaps exceeding this number of indices will not be filled.

## Value

A list with the following elements: the midpoints (renamed as `x` and `y`), the count (`number`) of `f(x,y)` values for `x` and `y` values that lie between corresponding breaks, and the resultant average (`f`) of `f(x,y)`, classified by the `x` and `y` breaks.

## Author(s)

Dan Kelley

Other bin-related functions: `binApply1D()`, `binApply2D()`, `binAverage()`, `binCount1D()`, `binCount2D()`, `binMean1D()`
 ```1 2 3 4 5 6 7 8 9``` ```library(oce) x <- runif(500) y <- runif(500) f <- x + y xb <- seq(0, 1, 0.1) yb <- seq(0, 1, 0.2) m <- binMean2D(x, y, f, xb, yb) plot(x, y) contour(m\$xmids, m\$ymids, m\$result, add=TRUE, levels=seq(0, 2, 0.5), labcex=1) ```