Rev 35019 | Rev 38228 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{list}\title{Lists -- Generic and Dotted Pairs}\usage{list(\dots)pairlist(\dots)as.list(x, \dots)%as.list.default(x, \dots)as.pairlist(x)as.list.environment(x, all.names=FALSE, \dots)is.list(x)is.pairlist(x)alist(\dots)}\alias{list}\alias{pairlist}\alias{alist}\alias{as.list}\alias{as.list.default}\alias{as.list.data.frame}\alias{as.list.environment}\alias{as.pairlist}\alias{is.list}\alias{is.pairlist}\description{Functions to construct, coerce and check for all kinds of \R lists.}\arguments{\item{\dots}{objects.}\item{x}{object to be coerced or tested.}\item{all.names}{a logical indicating whether to copy all values in\code{as.list.environment}/}}\details{Most lists in \R internally are \emph{Generic Vectors}, whereastraditional \emph{dotted pair} lists (as in LISP) are still available.The arguments to \code{list} or \code{pairlist} are of the form\code{value} or \code{tag=value}.The functions return a list composed of its argumentswith each value either tagged or untagged,depending on how the argument was specified.\code{alist} is like \code{list}, except in the handling of taggedarguments with no value. These are handled as if they describedfunction arguments with no default (cf. \code{\link{formals}}), whereas\code{list} simply ignores them.\code{as.list} attempts to coerce its argument to list type.For functions, this returns the concatenation of the list of formalsarguments and the function body. For expressions, the list ofconstituent calls is returned.\code{is.list} returns \code{TRUE} iff its argumentis a \code{list} \emph{or} a \code{pairlist} of \code{length} \eqn{> 0}.\code{is.pairlist} returns \code{TRUE} iff the argument is a pairlistor \code{NULL} (see below).\code{is.list} and \code{is.pairlist} are generic: you can writemethods to handle specific classes of objects, see \link{InternalMethods}.\code{as.list.environment} copies the named values from an environmentto a list. The user can request that all named objects are copied(normally names that begin with a dot are not). The output is notsorted and no parent environments are searched.An empty pairlist, \code{pairlist()} is the same as \code{NULL}. Thisis different from \code{list()}.}\references{Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)\emph{The New S Language}.Wadsworth \& Brooks/Cole.}\seealso{\code{\link{vector}("list", length)} for creation of a list with emptycomponents; \code{\link{c}}, for concatenation; \code{\link{formals}}.}\examples{# create a plotting structurepts <- list(x=cars[,1], y=cars[,2])plot(pts)## "pre-allocate" an empty list of length 5vector("list", 5)# Argument listsf <- function()x# Note the specification of a "..." argument:formals(f) <- al <- alist(x=, y=2, \dots=)fal## environment->list coercione1 <- new.env()e1$a <- 10e1$b <- 20as.list(e1)}\keyword{list}\keyword{manip}