options
Options Settings
Allow the user to set and examine a variety of global options which affect the way in which R computes and displays its results.
- Keywords
- print, environment, error
Usage
options(...)
getOption(x, default = NULL)
.Options
Arguments
- ...
- any options can be defined, using
name = value
. However, only the ones below are used in base R.Options can also be passed by giving a single unnamed argument which is a named list.
- 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, e.g., getOption("width")
rather than
options("width")
which is a list of length one.
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).
Note
For compatibility with S there is a visible object .Options
whose
value is a pairlist containing the current options()
(in no
particular order). Assigning to it will make a local copy and not
change the original.
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"
in the browser. checkPackageLicense
:- logical, not set by default. If
true,
library
asks 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
. CBoundsCheck
:- logical, controlling whether
.C
and.Fortran
make copies to check for array over-runs on the atomic vector arguments. Initially set from value of the environment variable R_C_BOUNDS_CHECK (set toyes
to enable). continue
:- a non-empty string setting the prompt used for lines which continue over one line. %% default is set in ../../profile/Common.R :
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 toNULL
or a comma-separated list of package names.) It will not work to set this in a .Rprofile file, as its value is consulted before that file is read. deparse.cutoff
:- integer value controlling the
printing of language constructs which are
deparse
d. Default60
. 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.default
about 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"
,"wininet"
(Windows only),"libcurl"
,"wget"
and"curl"
are available. If not set,method = "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
stop
as 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
: seestop
for the behaviour in that case. The functionsdump.frames
andrecover
provide alternatives that allow post-mortem debugging. Note that these need to specified as e.g.\ifelse{latex}{\out{~}}{ }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. Once the limit is reached an error is thrown. The current number under evaluation can be found by callingCstack_info
. 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 isinteractive()
, i.e.,TRUE
for interactive use. %% used by tools::makeLazyLoading
keep.source.pkgs
:- As for
keep.source
, used only when packages are installed. Defaults toFALSE
unless the environment variable R_KEEP_PKG_SOURCE is set toyes
. max.print
:- integer, defaulting to
99999
.print
orshow
methods 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.print
entries. OutDec
:- character string containing a single
character. The preferred character to be used as the decimal
point in output conversions, that is in printing, plotting,
format
andas.character
but not when deparsing nor bysprintf
norformatC
(which are sometimes used prior to printing.) Only single-byte characters were supported prior to R 3.2.0. In R 3.2.1 and earlier, multi- (or zero-) characterOutDec
were accepted, but always worked only partially. pager
:- the command used for displaying text files by
file.show
. unix Defaults to R_HOME/bin/pager, which is a shell script running the command-line specified by the environment variable PAGER whose default is set at configuration, usually toless
. windows Defaults to"internal"
, which uses a pager similar to the GUI console. Another possibility is"console"
to use the console itself. 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 unix a value derived from the locale categoryLC_PAPER
, or if that is unavailable to a default set when R was built. windows"a4"
, or"letter"
in US and Canadian locales. pdfviewer
:- default PDF viewer.
The default is set from the environment variable R_PDFVIEWER,
unix
the default value of which is set when R is configured.
windows
which defaults to the full path to
open.exe
, a utility supplied with R. printcmd
:- the command used by
postscript
for 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 (
" "
). % verbatim, for checking " \t\n\"\\'`><=%;,|&{()}" unix="" 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
scipen
digits 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
:- 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.locations
:- Should source locations of
errors be printed? If set to
TRUE
or"top"
, the source location that is highest on the stack (the most recent call) will be printed."bottom"
will print the location of the earliest call found on the stack. Integer values can select other entries. The value0
corresponds to"top"
and positive values count down the stack from there. The value-1
corresponds to"bottom"
and negative values count up from there. show.error.messages
:- a logical. Should error messages
be printed? Intended for use with
try
or a user-installed error handler. stringsAsFactors
:- The default setting for arguments of
data.frame
andread.table
. texi2dvi
:- used by functions
texi2dvi
andtexi2pdf
in package tools. unix Set at startup from the environment variable R_TEXI2DVICMD, which defaults first to the value of environment variable TEXI2DVI, and then to a value set when R was installed (the full path to atexi2dvi
script if one was found). If necessary, that environment variable can be set to"emulation"
. timeout
:- integer. The timeout for some Internet
operations, in seconds. Default 60 seconds. See
download.file
andconnections
. topLevelEnvironment
:- see
topenv
andsys.source
. url.method
:- character string: the default method for
url
. Normally unset, which is equivalent to"default"
, which is"internal"
except on Windows. useFancyQuotes
:- controls the use of
directional quotes in
sQuote
,dQuote
and in rendering text help (seeRd2txt
in package tools). Can beTRUE
,FALSE
,"TeX"
or"UTF-8"
. verbose
:- logical. Should R report extra information
on progress? Set to
TRUE
by the command-line option --verbose. warn
:- sets the handling of warning messages. If
warn
is negative all warnings are ignored. Ifwarn
is zero (the default) warnings are stored until the top--level function returns. If 10 or fewer warnings were signalled they will be printed otherwise a message saying how many were signalled. An object calledlast.warning
is created and can be printed through the functionwarnings
. Ifwarn
is one, warnings are printed as they occur. Ifwarn
is 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.
nwarnings
:- the limit for the number of warnings kept
when
warn = 0
, default 50. This will discard messages if called whilst they are being collected. 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 East Asian 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. =+-*%;,|&{()}"<>
rl_word_breaks:Used for the readline-based terminal
interface. Default value " \t\n\"\\'`><=%;,|&{()}"< code="">. This is the set of characters use to break the input line into
tokens for object- and file-name completion. Those who do not use
spaces around operators may prefer
" \t\n\"\\'`><=+-*%;,|&{()}"< code="">
=%;,|&{()}"<>
=%;,|&{()}">
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 |
Options set in package grDevices
These will be set when package grDevices (or its namespace) is loaded if not already set.
-
unix
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
,windows
orquartz
) for an interactive session, andpdf
in 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. The search logic for the normal screen device is that this iswindows
on Windows, andquartz
if available on OS X (running at the console, and compiled into the build). OtherwiseX11
is used if environment variable DISPLAY is set. device.ask.default
:- logical. The default for
devAskNewPage("ask")
when a device is opened. locatorBell
:- logical. Should selection in
locator
andidentify
be confirmed by a bell? DefaultTRUE
. Honoured at least onX11
andwindows
devices. windows
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 OS X where that is available. windowsTimeout
:(Windows-only) integer vector of length 2
representing two times in milliseconds. These control the
double-buffering of windows
devices when that is
enabled: the first is the delay after plotting finishes
(default 100) and the second is the update interval during
continuous plotting (default 500). The values at the time the
device is opened are used.
Other options used by package graphics
max.contour.segments
:- positive integer, defaulting to
25000
if not set. A limit on the number of segments in a single contour line incontour
orcontourLines
.
Options set in package stats
These will be set when package stats (or its namespace) is loaded if not already set.
contrasts
:- the default
contrasts
used in model fitting such as withaov
orlm
. 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
nls
convergence 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
log
inplot.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.\ifelse{latex}{\out{~}}{ } the default "https://bioconductor.org" or the European mirror "https://bioconductor.statistik.tu-dortmund.de". Can be set bychooseBioCmirror
. browser
:- The HTML browser to be used by
browseURL
. This sets the default browser on UNIX or a non-default browser on Windows. Alternatively, an R function that is called with a URL as its argument. SeebrowseURL
for further details. ccaddress
:- default Cc: address used by
create.post
(and hencebug.report
andhelp.request
). Can beFALSE
or""
. citation.bibtex.max
:- default 1; the maximal number of
bibentries (
bibentry
) in acitation
for which the bibtex version is printed in addition to the text one. 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
ask
argument ofdemo
. editor
:- a non-empty string or a function that 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
ask
argument 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.search
and??
. 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(S)
requests. If
NULL
, requests will be made without a user agent header. The default isR (
.) install.lock
:- logical: should per-directory package
locking be used by
install.packages
? Most useful for binary installs on 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, using the
"internal"
and"libcurl"
methods. Default is 2, for failure causes. Set to 1 or 0 to get more detailed information (for the"internal"
method 0 provides more information than 1). install.packages.check.source
:- Used by
install.packages
(and indirectlyupdate.packages
) on platforms which support binary packages. Possible values"yes"
and"no"
, with unset being equivalent to"yes"
. install.packages.compile.from.source
:- Used by
install.packages(type = "both")
(and indirectlyupdate.packages
) on platforms which support binary packages. Possible values are"never"
,"interactive"
(which means ask in interactive use and"never"
in batch use) and"always"
. The default is taken from environment variable R_COMPILE_AND_INSTALL_PACKAGES, with default"interactive"
if unset. However,install.packages
uses"never"
unless amake
program is found, consulting the environment variable MAKE. mailer
:- default emailing method used by
create.post
and hencebug.report
andhelp.request
. menu.graphics
:- Logical: should graphical menus be used
if available?. Defaults to
TRUE
. Currently applies toselect.list
,chooseCRANmirror
,setRepositories
and to select from multiple (text) help files inhelp
. pkgType
:- The default type of packages to be downloaded
and installed -- see
install.packages
. windows Possible values are"win.binary"
,"source"
and"both"
(the default). Some OS X builds use"mac.binary"
and"mac.binary.mavericks"
. unix Possible values are"source"
(the default except under a CRAN OS X build),"mac.binary."
,"mac.binary.mavericks"
and"both"
(the default for CRAN OS X builds). Windows uses"win.binary"
. ("mac.binary.leopard"
and"mac.binary.universal"
are no longer in use.) Value"binary"
is a synonym for the native binary type (if there is one);"both"
is used byinstall.packages
to choose between source and binary installs. 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, R-Forge, Rforge.net ...) usingsetRepositories
. SweaveHooks
,SweaveSyntax
:-
see
Sweave
. unzip
:- a character string used by
unzip
: the path of the external programunzip
or"internal"
. unix Defaults to the value of R_UNZIPCMD, which is set in etc/Renviron if anunzip
command was found during configuration. windows Defaults to"internal"
when the internal unzip code is used. useHTTPS
:- logical. Used by
chooseCRANmirror
: are secure mirrors preferred? If not set,TRUE
is assumed.
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
2
if 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
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Examples
library(base)
op <- options(); utils::str(op) # op is a named list
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)