Learn R Programming

TeachingDemos (version 2.8)

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, ...)

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

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.

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