Learn R Programming

TeachingDemos (version 2.13)

TkApprox: Plot a set of data in a Tk window and interactively move lines to see predicted y-values corresponding to selected x-values.

Description

This function plots a dataset in a Tk window then places 3 lines on the plot which show a predicted y value for the given x value. The lines can be clicked on and dragged to new x-values with the predicted y-values automatically updating. A table at the bottom of the graph shows the differences between the pairs of x-values and y-values.

Usage

TkApprox(x, y, type = "b", snap.to.x = FALSE, digits = 4,
  cols = c("red", "#009900", "blue"), xlab = deparse(substitute(x)),
  ylab = deparse(substitute(y)), hscale = 1.5, vscale = 1.5,
  wait = TRUE, ...)

Value

If wait is FALSE then an invisible NULL is returned, if

wait is TRUE then an invisible list with the x and y values of the 3 reference lines is returned.

Arguments

x

The x-values of the data, should be sorted

y

The corresponding y-values of the data

type

Type of plot (lines, points, both) passed to plot

snap.to.x

If True then the lines will snap to x-values (can be changed with a checkbox in the Tk window)

digits

Number of significant digits to display (passed to format)

cols

Vector of 3 colors, used for the reference lines

xlab

Label for x-axis

ylab

Label for y-axis

hscale

Horizontal Scale of the plot, passed to tkrplot

vscale

Vertical Scale of the plot, passed to tkrplot

wait

Should R wait for the window to be closed

...

Additional parameters passed to plot

Author

Greg Snow 538280@gmail.com

Details

This provides an interactive way to explore predictions from a set of x and y values. Internally the function approxfun is used to make the predictions.

The x-value of the 3 reference lines can be changed by clicking and dragging the line to a new position. The x and y values are shown in the margins of the graph. Below the graph is a table with the differences (absolute value) between the pairs of points.

This can be used to find peaks/valleys in trends and to see how they differ from starting points, other peaks/valleys, etc..

See Also

approxfun, TkSpline

Examples

Run this code
if(interactive()) {
  with(ccc, TkApprox(Time2,Elevation))
}

Run the code above in your browser using DataLab