| options {base} | R Documentation |
Options Settings
Description
Allow the user to set and examine a variety of global options which affect the way in which R computes and displays its results.
Usage
options(...)
getOption(x, default = NULL)
.Options
Arguments
... |
any options can be defined, using |
x |
a character string holding an option name. |
default |
if the specified option is not set in the options list, this value is returned. This facilitates retrieving an option and checking whether it is set and setting it separately if not. |
Details
Invoking options() with no arguments returns a list with the
current values of the options. Note that not all options listed below
are set initially. To access the value of a single option, one should
use getOption("width"), e.g., rather than
options("width") which is a list of length one.
.Options also always contains the options() list (as a
pairlist, unsorted), for S compatibility. Assigning to it will make a
local copy and not change the original.
Value
For getOption, the current value set for option x, or
NULL if the option is unset.
For options(), a list of all set options sorted by name. For
options(name), a list of length one containing the set value,
or NULL if it is unset. For uses setting one or more options,
a list with the previous values of the options changed (returned
invisibly).
Options used in base R
add.smooth:typically logical, defaulting to
TRUE. Could also be set to an integer for specifying how many (simulated) smooths should be added. This is currently only used byplot.lm.browserNLdisabled:logical: whether newline is disabled as a synonym for
"n"is the browser.checkPackageLicense:logical, not set by default. If true,
libraryasks a user to accept any non-standard license at first use.check.bounds:logical, defaulting to
FALSE. If true, a warning is produced whenever a vector (atomic orlist) is extended, by something likex <- 1:3; x[5] <- 6.continue:a non-empty string setting the prompt used for lines which continue over one line.
defaultPackages:the packages that are attached by default when R starts up. Initially set from value of the environment variable R_DEFAULT_PACKAGES, or if that is unset to
c("datasets", "utils", "grDevices", "graphics", "stats", "methods"). (Set R_DEFAULT_PACKAGES toNULLor a comma-separated list of package names.) A call tooptionsshould be in your ‘.Rprofile’ file to ensure that the change takes effect before the base package is initialized (seeStartup).deparse.max.lines:controls the number of lines used when deparsing in
traceback,browser, and upon entry to a function whose debugging flag is set. Initially unset, and only used if set to a positive integer.digits:controls the number of digits to print when printing numeric values. It is a suggestion only. Valid values are 1...22 with default 7. See the note in
print.defaultabout values greater than 15.digits.secs:controls the maximum number of digits to print when formatting time values in seconds. Valid values are 0...6 with default 0. See
strftime.download.file.extra:Extra command-line argument(s) for non-default methods: see
download.file.download.file.method:Method to be used for
download.file. Currently download methods"internal","wget"and"lynx"are available. There is no default for this option, whenmethod = "auto"is chosen: seedownload.file.echo:logical. Only used in non-interactive mode, when it controls whether input is echoed. Command-line option --slave sets this to
FALSE, but otherwise it starts the session asTRUE.encoding:The name of an encoding, default
"native.enc"). Seeconnections.error:either a function or an expression governing the handling of non-catastrophic errors such as those generated by
stopas well as by signals and internally detected errors. If the option is a function, a call to that function, with no arguments, is generated as the expression. The default value isNULL: seestopfor the behaviour in that case. The functionsdump.framesandrecoverprovide alternatives that allow post-mortem debugging. Note that these need to specified as e.g.options(error=utils::recover)in startup files such as ‘.Rprofile’.expressions:sets a limit on the number of nested expressions that will be evaluated. Valid values are 25...500000 with default 5000. If you increase it, you may also want to start R with a larger protection stack; see --max-ppsize in
Memory. Note too that you may cause a segfault from overflow of the C stack, and on OSes where it is possible you may want to increase that.keep.source:When
TRUE, the source code for functions (newly defined or loaded) is stored internally allowing comments to be kept in the right places. Retrieve the source by printing or usingdeparse(fn, control = "useSource").The default is
interactive(), i.e.,TRUEfor interactive use.keep.source.pkgs:As for
keep.source, used only when packages are installed. Defaults toFALSEunless the environment variable R_KEEP_PKG_SOURCE is set toyes.max.print:integer, defaulting to
99999.printorshowmethods can make use of this option, to limit the amount of information that is printed, to something in the order of (and typically slightly less than)max.printentries.OutDec:character string containing a single-byte character. The character to be used as the decimal point in output conversions, that is in printing, plotting and
as.characterbut not deparsing.pager:the command used for displaying text files by
file.show. Defaults to ‘R_HOME/bin/pager’, which selects a pager via the \link{PAGER} environment variable (and that usually defaults toless).Can be a character string or an R function, in which case it needs to accept the arguments
(files, header, title, delete.file)corresponding to the first four arguments offile.show.papersize:the default paper format used by
postscript; set by environment variable R_PAPERSIZE when R is started: if that is unset or invalid it defaults to a value derived from the locale categoryLC_PAPER, or if that is unavailable to a default set when R was built.pdfviewer:default PDF viewer. The default is set from the environment variable R_PDFVIEWER, the default value of which is set when R is configured.
printcmd:the command used by
postscriptfor printing; set by environment variable R_PRINTCMD when R is started. This should be a command that expects either input to be piped to ‘stdin’ or to be given a single filename argument. Usually set to"lpr"on a Unix-alike.prompt:a non-empty string to be used for R's prompt; should usually end in a blank (
" ").rl_word_breaks:Used for the readline-based terminal interface. Default value
" \t\n\"\\'`><=%;,|&\{()\}". This is the set of characters use to break the input line up into tokens for object- and file-name completion. Those who do not use spaces around operators may prefer
" \t\n\"\\'`><=+-*%;,|&\{()\}"which was the default in R 2.5.0. (The default in pre-2.5.0 versions of R was
" \t\n\"\\'`@$><=;|&\{(".)save.defaults,save.image.defaults:-
see
save. scipen:integer. A penalty to be applied when deciding to print numeric values in fixed or exponential notation. Positive values bias towards fixed and negative towards scientific notation: fixed notation will be preferred unless it is more than
scipendigits wider.showWarnCalls,showErrorCalls:a logical. Should warning and error messages show a summary of the call stack? By default error calls are shown in non-interactive sessions.
showNCalls:a integer. Controls how long the sequence of calls must be (in bytes) before ellipses are used. Defaults to 40 and should be at least 30 and no more than 500.
show.error.messages:a logical. Should error messages be printed? Intended for use with
tryor a user-installed error handler.stringsAsFactors:The default setting for arguments of
data.frameandread.table.texi2dvi:used by functions
texi2dviandtexi2pdfin package tools. Set at startup from the environment variable R_TEXI2DVICMD.timeout:integer. The timeout for some Internet operations, in seconds. Default 60 seconds. See
download.fileandconnections.topLevelEnvironment:see
topenvandsys.source.useFancyQuotes:controls the use of directional quotes in
sQuote,dQuoteand in rendering text help (seeRd2txtin package tools). Can beTRUE,FALSE,"TeX"or"UTF-8".verbose:logical. Should R report extra information on progress? Set to
TRUEby the command-line option --verbose.warn:sets the handling of warning messages. If
warnis negative all warnings are ignored. Ifwarnis zero (the default) warnings are stored until the top–level function returns. If fewer than 10 warnings were signalled they will be printed otherwise a message saying how many (max 50) were signalled. An object calledlast.warningis created and can be printed through the functionwarnings. Ifwarnis one, warnings are printed as they occur. Ifwarnis two or larger all warnings are turned into errors.warnPartialMatchArgs:logical. If true, warns if partial matching is used in argument matching.
warnPartialMatchAttr:logical. If true, warns if partial matching is used in extracting attributes via
attr.warnPartialMatchDollar:logical. If true, warns if partial matching is used for extraction by
$.warning.expression:an R code expression to be called if a warning is generated, replacing the standard message. If non-null it is called irrespective of the value of option
warn.warning.length:sets the truncation limit for error and warning messages. A non-negative integer, with allowed values 100...8170, default 1000.
width:controls the maximum number of columns on a line used in printing vectors, matrices and arrays, and when filling by
cat.Columns are normally the same as characters except in CJK languages.
You may want to change this if you re-size the window that R is running in. Valid values are 10...10000 with default normally 80. (The limits on valid values are in file ‘Print.h’ and can be changed by re-compiling R.) Some R consoles automatically change the value when they are resized.
See the examples on Startup for one way to set this automatically from the terminal width when R is started.
The ‘factory-fresh’ default settings of some of these options are
add.smooth | TRUE |
check.bounds | FALSE |
continue | "+ " |
digits | 7 |
echo | TRUE |
encoding | "native.enc" |
error | NULL |
expressions | 5000 |
keep.source | interactive() |
keep.source.pkgs | FALSE |
max.print | 99999 |
OutDec | "." |
prompt | "> " |
scipen | 0 |
show.error.messages | TRUE |
timeout | 60 |
verbose | FALSE |
warn | 0 |
warning.length | 1000 |
width | 80 |
Others are set from environment variables or are platform-dependent.
Options set in package grDevices
These will be set when package grDevices (or its namespace) is loaded if not already set.
bitmapType:(Unix-only) character. The default type for the bitmap devices such as
png. Defaults to"cairo"on systems where that is available, or to"quartz"on Mac OS X where that is available.device:a character string giving the name of a function, or the function object itself, which when called creates a new graphics device of the default type for that session. The value of this option defaults to the normal screen device (e.g.,
X11,windowsorquartz) for an interactive session, andpdfin batch use or if a screen is not available. If set to the name of a device, the device is looked for first from the global environment (that is down the usual search path) and then in the grDevices namespace.The default values in interactive and non-interactive sessions are configurable via environment variables R_INTERACTIVE_DEVICE and R_DEFAULT_DEVICE respectively.
device.ask.default:logical. The default for
devAskNewPage("ask")when a device is opened.locatorBell:logical. Should selection in
locatorandidentifybe confirmed by a bell? DefaultTRUE. Honoured at least onX11andwindowsdevices.
Other options used by package graphics
max.contour.segments:positive integer, defaulting to
25000if not set. A limit on the number of segments in a single contour line incontourorcontourLines.
Options set in package stats
These will be set when package stats (or its namespace) is loaded if not already set.
contrasts:the default
contrastsused in model fitting such as withaovorlm. A character vector of length two, the first giving the function to be used with unordered factors and the second the function to be used with ordered factors. By default the elements are namedc("unordered", "ordered"), but the names are unused.na.action:the name of a function for treating missing values (
NA's) for certain situations.show.coef.Pvalues:logical, affecting whether P values are printed in summary tables of coefficients. See
printCoefmat.show.nls.convergence:logical, should
nlsconvergence messages be printed for successful fits?show.signif.stars:logical, should stars be printed on summary tables of coefficients? See
printCoefmat.ts.eps:the relative tolerance for certain time series (
ts) computations. Default1e-05.ts.S.compat:logical. Used to select S compatibility for plotting time-series spectra. See the description of argument
loginplot.spec.
Options set in package utils
These will be set when package utils (or its namespace) is loaded if not already set.
BioC_mirror:The URL of a Bioconductor mirror for use by
setRepositories, e.g. the default ‘"http://www.bioconductor.org"’ or the European mirror ‘"http://bioconductor.statistik.tu-dortmund.de"’. Can be set bychooseBioCmirror.browser:default HTML browser used by
help.start()andbrowseURLon UNIX, or a non-default browser on Windows. Alternatively, an R function that is called with a URL as its argument.ccaddress:default Cc: address used by
create.post(and hencebug.reportandhelp.request). Can beFALSEor"".de.cellwidth:integer: the cell widths (number of characters) to be used in the data editor
dataentry. If this is unset (the default), 0, negative orNA, variable cell widths are used.demo.ask:default for the
askargument ofdemo.editor:a non-empty string, or a function that is called with a file path as argument. Sets the default text editor, e.g., for
edit. Set from the environment variable EDITOR on UNIX, or if unset VISUAL orvi.example.ask:default for the
askargument ofexample.help.ports:optional integer vector for setting ports of the internal HTTP server, see
startDynamicHelp.help.search.types:default types of documentation to be searched by
help.searchand??.help.try.all.packages:default for an argument of
help.help_type:default for an argument of
help, used also as the help type by?.HTTPUserAgent:string used as the user agent in HTTP requests. If
NULL, HTTP requests will be made without a user agent header. The default isR (<version> <platform> <arch> <os>)install.lock:logical: should per-directory package locking be used by
install.packages? Most useful for binary installs on Mac OS X and Windows, but can be used in a startup file for source installs viaR CMD INSTALL. For binary installs, can also be the character string"pkgloack".internet.info:The minimum level of information to be printed on URL downloads etc. Default is 2, for failure causes. Set to 1 or 0 to get more information.
mailer:default emailing method used by
create.postand hencebug.reportandhelp.request.menu.graphics:Logical: should graphical menus be used if available?. Defaults to
TRUE. Currently applies toselect.list,chooseCRANmirror,setRepositoriesand to select from multiple (text) help files inhelp.pkgType:The default type of packages to be downloaded and installed – see
install.packages.Possible values are
"source"(the default except under the CRAN Mac OS X build) and"mac.binary.leopard". Windows uses"win.binary". ("mac.binary"and"mac.binary.universal"are no longer in use.)repos:URLs of the repositories for use by
update.packages. Defaults toc(CRAN="@CRAN@"), a value that causes some utilities to prompt for a CRAN mirror. To avoid this do set the CRAN mirror, by something likelocal({r <- getOption("repos"); r["CRAN"] <- "http://my.local.cran"; options(repos=r)}).Note that you can add more repositories (Bioconductor and Omegahat, notably) using
setRepositories().SweaveHooks,SweaveSyntax:see
Sweave.unzip:a character string, the path of the command used for unzipping help files, or
"internal". Defaults to the value of R_UNZIPCMD, which is set in ‘etc/Renviron’ if anunzipcommand was found during configuration.
Options set in package parallel
These will be set when package parallel (or its namespace) is loaded if not already set.
mc.cores:a integer giving the maximum allowed number of additional R processes allowed to be run in parallel to the current R process. Defaults to the setting of the environment variable MC_CORES if set. Most applications which use this assume a limit of
2if it is unset.
Options used on Unix only
dvipscmd:character string giving a command to be used in the (deprecated) off-line printing of help pages via PostScript. Defaults to
"dvips".
Options used on Windows only
warn.FPU:logical, by default undefined. If true, a warning is produced whenever dyn.load repairs the control word damaged by a buggy DLL.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Examples
op <- options(); utils::str(op) # op() may contain functions.
getOption("width") == options()$width # the latter needs more memory
options(digits = 15)
pi
# set the editor, and save previous value
old.o <- options(editor = "nedit")
old.o
options(check.bounds = TRUE, warn = 1)
x <- NULL; x[4] <- "yes" # gives a warning
options(digits=5)
print(1e5)
options(scipen=3); print(1e5)
options(op) # reset (all) initial options
options("digits")
## Not run: ## set contrast handling to be like S
options(contrasts = c("contr.helmert", "contr.poly"))
## End(Not run)
## Not run: ## on error, terminate the R session with error status 66
options(error = quote(q("no", status=66, runLast=FALSE)))
stop("test it")
## End(Not run)
## Not run: ## Set error actions for debugging:
## enter browser on error, see ?recover:
options(error = recover)
## allows to call debugger() afterwards, see ?debugger:
options(error = dump.frames)
## A possible setting for non-interactive sessions
options(error = quote({dump.frames(to.file=TRUE); q()}))
## End(Not run)
# Compare the two ways to get an option and use it
# acconting for the possibility it might not be set.
if(as.logical(getOption("performCleanp", TRUE)))
cat("do cleanup\n")
## Not run:
# a clumsier way of expressing the above w/o the default.
tmp <- getOption("performCleanup")
if(is.null(tmp))
tmp <- TRUE
if(tmp)
cat("do cleanup\n")
## End(Not run)