options {base}R Documentation

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.






... any options can be defined, using name = value or by passing a list of such tagged values. However, only the ones below are used in “base R”. Further, options('name') == options()['name'], see the example.
x a character string holding an option name.


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.


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

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 by plot.lm.
logical, defaulting to FALSE. If true, a warning is produced whenever a “generalized vector” (atomic or list) is extended, by something like x <- 1:3; x[5] <- 6.
a non-empty string setting the prompt used for lines which continue over one line.
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 to NULL or a comma-separated list of package names.) A call to options should be in your ‘.Rprofile’ file to ensure that the change takes effect before the base package is initialized (see Startup).
controls the number of lines used when deparsing in traceback and browser. Initially unset, and only used if set to a positive integer.
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 warning in print.default about values greater than 15.
controls the maximum number of digits to print when formatting time values in seconds. Valid values are 0...6 with default 0. See strftime.
Method to be used for download.file. Currently download methods "internal", "wget" and "lynx" are available. There is no default for this option, when method = "auto" is chosen: see download.file.
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 as TRUE.
The name of an encoding, default "native.enc"). See connections.
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 is NULL: see stop for the behaviour in that case. The functions dump.frames and recover provide alternatives that allow post-mortem debugging.
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.
When TRUE, the source code for functions (newly defined or loaded) is stored in their "source" attribute (see attr) allowing comments to be kept in the right places.

The default is interactive(), i.e., TRUE for interactive use.

As for keep.source, for functions in packages loaded by library or require. Defaults to FALSE unless the environment variable R_KEEP_PKG_SOURCE is set to yes.

Note this does not apply to packages using lazy-loading or saved images. Whether they have kept source is determined when they are installed (and is almost certainly false).

default mailer used by bug.report(). Can be "none".
positive integer, defaulting to 250000 and usually not set. A limit on the number of segments in a single contour line in contour or contourLines.
integer, defaulting to 99999. print or show 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.
one-character string. The character to be used as the decimal point in output conversions, that is in printing, plotting and as.character but not deparsing.
the command used for displaying text files by file.show. Defaults to ‘$R_HOME/bin/pager’, which selects a pager via the PAGER environment variable (and that usually defaults to less). Can be a character string or an R function, in which case it needs to accept the same first four arguments as file.show.
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 category LC_PAPER, or if that is unavailable to a default set when R was built.
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.
a non-empty string to be used for R's prompt; should usually end in a blank (" ").
save.defaults, save.image.defaults:
see save.
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.
a logical. Should error messages be printed? Intended for use with try or a user-installed error handler.
The default setting for arguments of data.frame and read.table.
used by the unexported function texi2dvi in name space tools.
integer. The timeout for some Internet operations, in seconds. Default 60 seconds. See download.file and connections.
see topenv and sys.source.
logical. Should R report extra information on progress? Set to TRUE by the command-line option --verbose.
sets the handling of warning messages. If warn is negative all warnings are ignored. If warn is 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 called last.warning is created and can be printed through the function warnings. If warn is one, warnings are printed as they occur. If warn is two or larger all warnings are turned into errors.
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.
sets the truncation limit for error and warning messages. A non-negative integer, with allowed values 100...8170, default 1000.
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.

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
warnings.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 name space) is loaded if not already set.

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 or quartz) for an interactive session, and postscript in batch use or if a screen is not available.
logical. Should selection in locator and identify be confirmed by a bell? Default TRUE. Honoured at least on X11 and windows devices.
logical. The default for par("ask") when a device is opened.
The default colour type for X11 devices. Default "true".
character vector of length 2. See X11.
double. The default value of gamma for X11 devices, defaulting to 1 if unset (the default).

Options set in package stats

These will be set when package stats (or its name space) is loaded if not already set.

the default contrasts used in model fitting such as with aov or lm. 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 named c("unordered", "ordered"), but the names are unused.
the name of a function for treating missing values (NA's) for certain situations.
logical, affecting whether P values are printed in summary tables of coefficients. See printCoefmat.
logical, should stars be printed on summary tables of coefficients? See printCoefmat.
the relative tolerance for certain time series (ts) computations. Default 1e-05.
logical. Used to select S compatibility for plotting time-series spectra. See the description of argument log in plot.spec.

Options set in package utils

These will be set when package utils (or its name space) is loaded if not already set.

default HTML browser used by help.start() on UNIX, or a non-default browser on Windows.
integer: the cell widths (number of characters) to be used in the data editor dataentry. If this is unset (the default), 0, negative or NA, variable cell widths are used.
a non-empty string. Sets the default text editor, e.g., for edit. Set from the environment variable VISUAL on UNIX.
default for the ask argument of example.
default for an argument of help.
string used as the user agent in HTTP requests. If NULL, HTTP requests will be made without a user agent header. The default is R (<version> <platform> <arch> <os>)
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.
Logical: should graphical menus be used if available?. Defaults to TRUE. Currently applies to chooseCRANmirror, setRepositories and to select from multiple help files in help.
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".
URLs of the repositories for use by update.packages. Defaults to c(CRAN="@CRAN@"), a value that causes some utilities to prompt for a CRAN mirror. To avoid this do set the CRAN mirror, by something like local({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.
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 an unzip command was found during configuration.

Options used on Unix only

latexcmd, dvipscmd:
character strings giving commands to be used in off-line printing of help pages.
default PDF viewer. Set from the environment variable R_PDFVIEWER.


Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.


options() # printing all current options
op <- options(); str(op) # nicer printing

getOption("width") == options()$width # the latter needs more memory
options(digits = 15)

# set the editor, and save previous value
old.o <- options(editor = "nedit")

options(check.bounds = TRUE, warn = 1)
x <- NULL; x[4] <- "yes" # gives a warning

options(scipen=3); print(1e5)

options(op)     # reset (all) initial options

## 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)

[Package base version 2.5.0 Index]