# smooth.hexbin: Hexagon Bin Smoothing In hexbin: Hexagonal Binning Routines

## Description

Given a `"hexbin"` (hexagon bin) object, compute a discrete kernel smoother that covers seven cells, namely a center cell and its six neighbors. With two iterations the kernel effectively covers 1+6+12=19 cells.

## Usage

 `1` ```smooth.hexbin(bin, wts=c(48,4,1)) ```

## Arguments

 `bin` object of class `"hexbin"`, typically resulting from `hexbin()` or `erode,hexbin-method`. `wts` numeric vector of length 3 for relative weights of the center, the six neighbor cells, and twelve second neighbors.

## Details

This discrete kernel smoother uses the center cell, immediate neighbors and second neighbors to smooth the counts. The counts for each resulting cell is a linear combination of previous cell counts and weights. The weights are

 1 center cell, weight = wts 6 immediate neighbors weight = wts 12 second neighbors weight =wts

If a cell, its immediate and second neighbors all have a value of `max(cnt)`, the new maximum count would be `max(cnt)*sum(wts)`. It is possible for the counts to overflow.

The domain for cells with positive counts increases. The hexbin slots `xbins`, `xbnds`, `ybnds`, and `dimen` all reflect this increase. Note that usually `dimen = xbins+1`.

The intent was to provide a fast, iterated, immediate neighbor smoother. However, the current hexbin plotting routines only support shifting even numbered rows to the right. Future work can

(1) add a shift indicator to hexbin objects that indicates left or right shifting.
(2) generalize plot.hexbin() and hexagons()
(3) provide an iterated kernel.

With `wts=0`, the smoother only uses the immediate neighbors. With a shift indicator the domain could increase by 2 rows (one bottom and on top) and 2 columns (one left and one right). However the current implementation increases the domain by 4 rows and 4 columns, thus reducing plotting resolution.

## Value

an object of class `"smoothbin"`, extending class `"hexbin"`, see `hexbin`. The object includes the additional slot `wts`.

## References

see `grid.hexagons` and `hexbin`.

`hexbin`, `erode.hexbin`, `hcell2xy`, `gplot.hexbin`, `hboxplot`, `grid.hexagons`, `grid.hexlegend`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```x <- rnorm(10000) y <- rnorm(10000) bin <- hexbin(x,y) # show the smooth counts in gray level smbin <- smooth.hexbin(bin) plot(smbin, main = "smooth.hexbin(.)") # Compare the smooth and the origin smbin1 <- smbin smbin1@count <- as.integer(ceiling(smbin@count/sum(smbin@wts))) plot(smbin1) smbin2 <- smooth.hexbin(bin,wts=c(1,0,0)) # expand the domain for comparability plot(smbin2) ```

### Example output   ```
```

hexbin documentation built on Jan. 13, 2021, 5:37 a.m.