rp.radiogroup {rpanel} | R Documentation |
This function adds a set of radiobuttons to the panel. When a radiobutton is pressed, a variable is set and an action function is called.
rp.radiogroup(panel, var, values, labels=values, initval = values[1], parent = window, pos = NULL, title = deparse(substitute(var)), action = I, ...)
panel |
the panel in which the radiobuttons should appear. This may be passed as a panelname string or the panel object itself. |
var |
the name of the variable whose values are set by the buttons. |
values |
the values that |
labels |
the labels for the radiobuttons. |
initval |
the initial value for the variable (optional). The initial value can also be specified in the call to |
parent |
this specifies the widget inside which the radiobuttons should appear. In the current version of rpanel, it should not normally be used. |
pos |
the layout instructions. Please see the |
title |
the label for the group of radiobuttons. |
action |
the function which is called when a button is pressed. |
... |
information for |
The function action
should take one argument, which should be the panel to which the radiobuttons are attached.
See rp.grid
for details of the grid layout system.
If the parameter panel is the panelname string the same string is returned. If the panel object is used the altered panel is assigned to both the calling level and panel's environment level.
The action
function should return the panel.
Without this assignment any widgets added or alterations made to panel parameters within
the action
function will be lost.
rpanel: Simple interactive controls for R functions using the tcltk package. Journal of Statistical Software, 17, issue 9.
if (interactive()) { data.plotfn <- function(panel) { if (panel$plot.type == "histogram") hist(panel$x) else if (panel$plot.type == "boxplot") boxplot(panel$x) else plot(density(panel$x)) panel } panel <- rp.control(x = rnorm(50)) rp.radiogroup(panel, plot.type, c("histogram", "boxplot", "density estimate"), action = data.plotfn, title = "Plot type") }