.R in the etc subdirectory
of the Rcmdr-menus.txt in the same directory.activateMenus()
activeDataSet(dsname, flushModel=TRUE, flushDialogMemory=TRUE)
ActiveDataSet(name)
activeDataSetP()
activeModel(model)
ActiveModel(name)
activeModelP()
aicP()
beginRmdBlock()
beginRnwBlock()
checkActiveDataSet()
checkActiveModel()
checkBoxes(window=top, frame=stop("frame not supplied"),
boxes=stop("boxes not supplied"),
initialValues=NULL, labels=stop("labels not supplied"),
title=NULL, ttk=FALSE) # macro
checkClass(object, class, message=NULL) # macro
checkFactors(n=1)
checkMethod(generic, object, message=NULL, default=FALSE, strict=FALSE,
reportError=TRUE) # macro
checkNumeric(n=1)
checkReplace(name, type=gettextRcmdr("Variable"))
checkTwoLevelFactors(n=1)
checkVariables(n=1)
closeCommander(ask=TRUE, ask.save=ask)
closeDialog(window, release=TRUE) # macro
CommanderWindow()
data(..., list = character(), package = NULL, lib.loc = NULL,
verbose = getOption("verbose"), envir = .GlobalEnv)
dataSetsP(n=1)
defmacro(..., expr)
dialogSuffix(window=top, onOK=onOK, onCancel=onCancel, rows, columns,
focus=top, bindReturn=TRUE,
preventGrabFocus=FALSE, preventDoubleClick=FALSE, preventCrisp,
use.tabs=FALSE, notebook=notebook, tabs=c("dataTab", "optionsTab"),
tab.names=c("Data", "Options"), grid.buttons=FALSE, resizable=FALSE,
force.wait=FALSE) # macro
doItAndPrint(command, log=TRUE, rmd=log)
endRmdBlock()
endRnwBlock()
enterMarkdown(command)
enterKnitr(command)
errorCondition(window=top, recall=NULL, message, model=FALSE) # macro
exists.method(generic, object, default=TRUE, strict=FALSE)
Factors(names)
factorsP(n=1)
formulaFields(model, hasLhs=TRUE, glm=FALSE)
flushDialogMemory(what)
gassign(x, value)
getDialog(dialog, defaults=NULL)
## S3 method for class 'combobox':
getFrame(object)
## S3 method for class 'listbox':
getFrame(object)
## S3 method for class 'combobox':
getSelection(object)
## S3 method for class 'listbox':
getSelection(object)
getRcmdr(x, mode="any", fail=TRUE)
gettextRcmdr(...)
glmP()
GrabFocus(value)
groupsBox(recall=NULL, label=gettextRcmdr("Plot by:"),
initialLabel=gettextRcmdr("Plot by groups"),
errorText=gettextRcmdr("There are no factors in the active data set."),
variables=Factors(),
plotLinesByGroup=FALSE, positionLegend=FALSE,
plotLinesByGroupsText=gettextRcmdr("Plot lines by group"),
initialGroup=NULL, initialLinesByGroup=1, window=top) # macro
groupsLabel(frame=top, groupsBox=groupsBox, columnspan=1,
initialText=NULL) # macro
hclustSolutionsP()
initializeDialog(window=top, title="", offset=10, preventCrisp,
use.tabs=FALSE, notebook=notebook,
tabs=c("dataTab", "optionsTab"),
suppress.window.resize.buttons=TRUE) # macro
is.valid.name(x)
is.SciViews()
justDoIt(command)
knitrP()
Library(package, pos=length(search()), rmd=TRUE)
listAllModels(envir=.GlobalEnv, ...)
listAOVModels(envir=.GlobalEnv, ...)
listDataSets(envir=.GlobalEnv, ...)
listFactors(dataSet=ActiveDataSet())
listGeneralizedLinearModels(envir=.GlobalEnv, ...)
listLinearModels(envir=.GlobalEnv, ...)
listMultinomialLogitModels(envir=.GlobalEnv, ...)
listNumeric(dataSet=ActiveDataSet())
listPlugins(loaded=FALSE)
listProportionalOddsModels(envir=.GlobalEnv, ...)
listTwoLevelFactors(dataSet=ActiveDataSet())
listVariables(dataSet=ActiveDataSet())
lmP()
logger(command, rmd=TRUE)
LogWindow()
MacOSXP(release)
manualTranslationP()
MarkdownP()
mavericksP()
Message(message, type=c("note", "error", "warning"))
MessagesWindow()
modelFormula(frame=top, hasLhs=TRUE, rhsExtras=NULL,
formulaLabel=gettextRcmdr("Model Formula")) # macro
modelsP(n=1)
multinomP()
Numeric(names)
numericP(n=1)
OKCancelHelp(window=top, helpSubject=NULL, model=FALSE,
reset=NULL, apply=NULL, helpPackage=NULL) # macro
OutputWindow()
packageAvailable(name)
polrP()
popCommand(keep=FALSE)
popOutput(keep=FALSE)
putDialog(dialog, values=NULL, resettable=TRUE)
putRcmdr(x, value)
radioButtons(window=top, name=stop("name not supplied"),
buttons=stop("buttons not supplied"),
values=NULL, initialValue=..values[1],
labels=stop("labels not supplied"),
title="", title.color=getRcmdr("title.color"),
right.buttons=FALSE, command=function(){}) # macro
RappP()
RcmdrEditor(buffer, title="R Commander Editor", ok,
help=NULL, file.menu=NULL, edit.menu=NULL, context.menu=NULL,
toolbar.buttons=NULL)
RcmdrTclSet(name, value)
RcmdrTkmessageBox(message, icon=c("info", "question", "warning",
"error"), type=c("okcancel", "yesno", "ok"), default, title="")
removeLastRmdBlock()
removeLastRnwBlock()
removeNullRmdBlocks()
removeNullRnwBlocks()
removeStrayRmdBlocks()
removeStrayRnwBlocks()
RExcelSupported()
rglLoaded()
RmdWindow()
RnwWindow()
setBusyCursor()
setIdleCursor()
sortVarNames(x)
subOKCancelHelp(window=subdialog, helpSubject=NULL) # macro
subsetBox(window = top, subset.expression = NULL, model = FALSE) # macro
suppressMarkdown(command)
tclvalue(x)
titleLabel(...)
tkfocus(...)
tkspinbox(parent, ...)
trim.blanks(text)
TwoLevelFactors(names)
twoLevelFactorsP(n=1)
UpdateModelNumber(increment=1)
variableComboBox(parentWindow, variableList=Variables(),
export="FALSE", state="readonly",
initialSelection=gettextRcmdr(""),
title="")
variableListBox(parentWindow, variableList=Variables(), bg="white",
selectmode="single", export="FALSE", initialSelection=NULL,
listHeight=getRcmdr("variable.list.height"), title)
Variables(names)
varPosn(variables,
type=c("all", "factor", "numeric", "nonfactor", "twoLevelFactor"),
vars=NULL)
WindowsP()
X11P()# the following functions are exported for technical reasons,
# but are not meant to be called directly
commanderPosition()
NULL), an Apply button is included in the dialog's button bar.
This argument should be set to the quoted name of the function that initiates the dialog;
when the button is pressed, the onOK fTRUE, the Return key is bound to the onOK function in the dialog.radioButton) a
function to be called when a button is pressed.NULL or a list containing one or more two-element lists:
the first element, label, supplies the text label for a menu item
in the RcmdrEditor right-click context menu; the second element, commandputDialog, a list of defaults for the dialog box if there are no
stored previous values.NULL or a list containing one or more two-element lists:
the first element, label, supplies the text label for a menu item
in the RcmdrEditor Edit menu; the second element, command, is a call-baTRUE, the default, getRcmdr will generate an error if the object sought doesn't exist;
if FALSE and the object doesn't exist, NULL is returned.NULL or a list containing one or more two-element lists:
the first element, label, supplies the text label for a menu item
in the RcmdrEditor File menu; the second element, command, is a call-bagetDialog returns NULL for all dialogs.TRUE when the active
data set is changed; an exception is when variables are simply added to, deleted from, or modified in
the data set set.tkwait.window so that processing is suspended until the dialog
is closed; overrides the tkwait.dialog option (see Commander)
if the latter is set toTRUE if the model is a glm object, FALSE otherwise.tkgrid for the buttons frame (default FALSE);
use TRUE for tabbed dialogs and optionally for other dialogs.NULL, ""
will be displayed.label, supplies the text label for a menu item
in the RcmdrEditor Help menu; the second element, command, is a call-back function to be evaluated
when the menu item is shelp(helpSubject)
when the dialog Help button is pressed.NULL, produces a search
in all loaded packages --- see help.NULL (the default) for no initial selection.TRUE, keep (rather than pop) last output or command in the stack; the default is FALSE.data.data.TRUE, plug-in packages that are loaded are included in the vector of names
returned.TRUE or FALSE, depending upon the function.notebook).RcmdrEditor window
that saves the editor buffer to the appropriate Tcl variable.data.MacOSXP, the minimum release (version) required.TRUE, report an error message.FALSE.TRUE for a two-sided formula and FALSE for a
one-sided formula.FALSE."single" or "multiple"."readonly" means
user can't type in the box; set to "normal" to permit typing.TRUE, only use first element of class vector.TRUE, the default, the window maximize/minimize
buttons will not be displayed.c("Data", "Options")).c("dataTab", "optionsTab"))."blue".NULL or a list containing one or more three-element lists:
the first element, label, supplies the text label for a button
in the RcmdrEditor toolbar; the second element, command, is a call-back varPosn, type of variable list.FALSE) construct a tabbed dialog.putDialog,
a list of current selections to be stored in support of dialog memory.type argument is ignored.data.gettextRcmdr, text string or vector of text strings
to translate;
for titleLabel, arguments to be passed to labelRcmdr and from there to ttklabel;
for defmacro, arguments foRcmdr package and documented briefly here.
To see how these functions work, it is simplest to examine the dialog-generating functions in the Rcmdr package. Executing and logging commands:
The functions doItAndPrint, justDoIt, and logger control the
execution, logging, and printing of commands generated by menus and dialogs.
logger(command) adds command to the log/script window and to the output window.
justDoIt(command) causes command
to be executed. doItAndPrint(command) does both of these operations, and also prints the
output produced by the command.
The R Commander maintains a list of output objects, by default including the last
10 outputs. popOutput() ``pops'' (i.e., returns and removes) the first entry
of the output stack. Note that, as a stack, the queue is LIFO (``last in, first out''). Use popOutput(keep=TRUE) to access the last output but keep it in the stack.
There is also a stack of commands, which is accessed similarly by popCommand().
Ocassionally, it's necessary to assign an object directly in the global environment, and
this can be done with the gassign function.
Normally commands generate an R Markdown block.
suppressMarkdown takes a command in character-string form and adds an attribute to it
that will cause the command not to be entered in the R Markdown tab. This is useful when a
command, such as identify, requires direct user interaction and won't generate useful Markdown.
enterMarkdown can be used to enter command blocks directly in the R Markdown tab; this should
rarely be required. The functions beginRmdBlock, endRmdBlock, removeNullRmdBlocks,
removeLastRmdBlock, and removeStrayRmdBlocks should normally not be called directly.
The functions enterKnitr,
beginRnwBlock, endRnwBlock, removeNullRnwBlocks, removeLastRnwBlock,
and removeStrayRnwBlocks perform similar functions for Knitr documents.
Checking for errors:
The function is.valid.name checks whether a character string specifies a valid name
for an R object. The functions checkActiveDataSet, checkActiveModel,
checkFactors, checkNumeric, checkTwoLevelFactors, and checkVariables
check for the existence of objects and write an error message to the log if they are absent
(or insufficiently numerous, in the case of different kinds of variables). The function
checkReplace opens a dialog to query whether an existing object should be replaced.
The function checkMethod, checks whether a method exists for a particular generic that is
appropriate for a particular object. The function checkClass checks whether an object is of
a specific class. Both of these functions write error messages to the log if the condition fails.
The function errorCondition reports an error to the user and (optionally) re-starts
a dialog.
Information:
Several functions return vectors of object names: listAllModels,
listAOVModels, listDataSets, listGeneralizedLinearModels,
listFactors, listLinearModels, listMultinomialLogitModels,
listNumeric, listProportionalOddsModels,
listTwoLevelFactors,
listVariables. The functions activeDataSet and activeModel respectively report or set the active
data set and model.
The function packageAvailable reports whether the named package is
available to be loaded (or has possibly already been loaded).
The function exists.method checks whether a method exists for a particular generic that is
appropriate for a particular object, and returns TRUE or FALSE. The function is.SciViews always returns FALSE
since the SciViews GUI is no longer supported.
Building dialog boxes:
Several functions simplify the process of constructing Tk dialogs:
initializing a dialog box, initializeDialog, and completing the definition of a dialog box, dialogSuffix;
a set of check boxes, checkBoxes;
a set of radio buttons, radioButtons;
a list box with associated scrollbars and state variable, variableListBox
(and associated methods for the generic functions
getFrame and getSelection);
a drop-down "combo" box, variablecomboBox
(with getFrame and getSelection methods);
a button and subdialog for selecting a "grouping" variable, groupsBox;
displaying the currently defined groups in a dialog, groupsLabel;
a dialog-box structure for entering a model formula, modelFormula;
a text box for entering a subsetting expression, subsetBox;
OK, Cancel, and Help buttons for dialogs, OKCancelHelp, and subdialogs, subOKCancelHelp.
The functions putDialog, getDialog, and varPosn support dialog-box memory---i.e., retaining
selections across invocations of a dialog. The tkspinbox function is omitted from the tcltk package and
may be used to create a spinbox widget. The titleLabel function may be used to format a title label to use
the standard title label font and color.
``Themed'' Tk widgets:
Tk 8.5 introduced so-called ``themed'' widgets, which look better than the traditional Tk widgets.
Several functions, contributed by Brian Ripley, are written to access the new widgets by switching automatically
between the new and old widget sets depending upon the availability of the former: buttonRcmdr,
to access either ttkbutton or tkbutton; labelRcmdr,
to access either ttklabel or tklabel; ttkentry,
to access either ttkentry or tkentry; ttkframe,
to access either ttkframe or tkframe; ttkradiobutton,
to access either ttkradiobutton or tkradiobutton; and ttkscrollbar,
to access either ttkscrollbar or tkscrollbar.
Note that the last four functions mask functions of the same names in the P are `predicate' functions, which return
TRUE or FALSE depending upon whether some condition obtains. For example, lmP()
returns TRUE if there is an active model that is a linear model; and factorsP(2)
returns TRUE if there are at least two factors in the active data set.
WindowsP() and X11P() return TRUE respectively if the R Commander is running under Windows or
X-Windows.
Translating text:
The gettextRcmdr function simply passes its argument(s) to
gettext, adding the argument domain="R-Rcmdr".
Miscellaneous:
The function trim.blanks removes spaces from the beginning and end of a character string. The function
installPlugin installs an Rcmdr plug-in from a ZIP file or directory; this function may be used to
create self-installing plug-ins in the form of packages. The function nobs returns the number of
observations on which a statistical model is based. The function formulaFields returns information
about the left-hand side, right-hand side, data, subject, and (for GLMs) family and link, of a model object.
The function sortVarNames sorts variable names, including those containing numerals, into a more
"natural" order than does the standard sort function. The function Library may be used to
load packages; it checks whether a package is already loaded, and if not by default puts it in position
4 on the search path.
The function RExcelSupported is used for the RExcel interface.
Some of these functions, marked # macro} under \emph{Usage}, are "macro-like" in their behaviour, in that they
execute in the environment from which they are called. These were defined with an adaptation (used with permission) of
Thomas Lumley's defmacro function, described in Lumley (2001).
The tkfocus function is exported for historical reasons.
The data function, imported from the
[object Object]