.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, command
putDialog
, 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]