list {base}R Documentation

Lists - Generic and Dotted Pairs

Description

Functions to construct, coerce and check for all kinds of R lists.

Usage

list(...)
pairlist(...)

as.list(x, ...)
as.pairlist(x)
as.list.environment(x, all.names=FALSE, ...)

is.list(x)
is.pairlist(x)

alist(...)

Arguments

... objects.
x object to be coerced or tested.
all.names a logical indicating whether to copy all values in as.list.environment/

Details

Most lists in R internally are Generic Vectors, whereas traditional dotted pair lists (as in LISP) are still available.

The arguments to list or pairlist are of the form value or tag=value. The functions return a list composed of its arguments with each value either tagged or untagged, depending on how the argument was specified.

alist is like list, except in the handling of tagged arguments with no value. These are handled as if they described function arguments with no default (cf. formals), whereas list simply ignores them.

as.list attempts to coerce its argument to list type. For functions, this returns the concatenation of the list of formals arguments and the function body. For expressions, the list of constituent calls is returned.

is.list returns TRUE iff its argument is a list or a pairlist of length > 0. is.pairlist returns TRUE iff the argument is a pairlist or NULL (see below).

is.list and is.pairlist are generic: you can write methods to handle specific classes of objects, see InternalMethods.

as.list.environment copies the named values from an environment to a list. The user can request that all named objects are copied (normally names that begin with a dot are not). The output is not sorted and no parent environments are searched.

An empty pairlist, pairlist() is the same as NULL. This is different from list().

References

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

See Also

vector("list", length) for creation of a list with empty components; c, for concatenation; formals.

Examples

# create a plotting structure
pts <- list(x=cars[,1], y=cars[,2])
plot(pts)

## "pre-allocate" an empty list of length 5
vector("list", 5)

# Argument lists
f <- function()x
# Note the specification of a "..." argument:
formals(f) <- al <- alist(x=, y=2, ...=)
f
al

## environment->list coercion

e1 <- new.env()
e1$a <- 10
e1$b <- 20
as.list(e1)

[Package base version 2.2.1 Index]