squashgram: Visualize a function of z coordinates, binned by x, y...

View source: R/squash.R

squashgramR Documentation

Visualize a function of z coordinates, binned by x, y coordinates

Description

This is a convenience function combining matapply and colorgram. 3-dimensional data is summarized in 2-dimensional bins and represented as a color matrix. Optionally, the number of observations in each bin is indicated by relative size of the matrix elements.

Usage

squashgram(x, y = NULL, z = NULL, FUN, 
    nx = 50, ny = nx, xlim = NULL, ylim = NULL,
    xbreaks = NULL, ybreaks = NULL,
    xlab = NULL, ylab = NULL, zlab = NULL, 
    shrink = 0, ...) 

Arguments

x, y, z

Numeric vectors; see Details.

FUN

Function to summarize z values.

nx, ny

Approximate number of bins along x and y axis.

xlim, ylim

Limit the range of data points considered.

xbreaks, ybreaks

Breakpoints between bins along x and y axes.

xlab, ylab

Axis labels.

zlab

Label for color key.

shrink

Rectangle shrinkage cutoff.

...

Further arguments passed to colorgram.

Details

This function may be useful for visualizing the dependence of a variable (z) on two other variables (x and y).

x, y and z values can be passed to squash in any form recognized by xyz.coords (e.g. individual vectors, list, data frame, formula).

This function calls matapply and plots the result along with a color key.

If non-zero, the shrink parameter reduces the size of rectangles for the bins in which the number of samples is smaller than shrink. This may be useful to reduce the visual impact of less reliable observations.

Value

None.

See Also

The lower-level functions matapply and colorgram.

Examples

  ## earthquake depths in Fiji
  attach(quakes)
  squashgram(depth ~ long + lat, FUN = mean)

  ## iris measurements 
  attach(iris)
  squashgram(Sepal.Length, Sepal.Width, Petal.Length, 
    FUN = median, nx = 20, ny = 15)

  ## Here indicate sample size by size of rectangles
  squashgram(iris[,1:3], FUN = median, 
    nx = 20, ny = 15, shrink = 5)

  ## What is the trend in my noisy 3-dimensional data?
  set.seed(123)
  x <- rnorm(10000)
  y <- rnorm(10000)
  z <- rnorm(10000) + cos(x) + abs(y / 4)
  squashgram(x, y, z, median, colFn = bluered, shrink = 5)


aroneklund/squash documentation built on June 3, 2023, 11:55 a.m.