list {base}R Documentation

Lists - Generic and Dotted Pairs


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



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




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


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, whereas is.pairlist only returns TRUE in the latter case.

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().


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

See Also

vector(., mode="list"), c, for concatenation; formals.


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

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

##environment->list coercion

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

[Package base version 2.1.0 Index]