Rev 30448 | Rev 35906 | 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{GenericVectors}, whereas traditional \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},whereas \code{is.pairlist} only returns \code{TRUE} in the latter case.\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 environment to a list. Theuser can request that all named objects are copied (normally names that begin with a dotare not). The output is not sorted 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}(., mode="list")}, \code{\link{c}}, for concatenation;\code{\link{formals}}.}\examples{# create a plotting structurepts <- list(x=cars[,1], y=cars[,2])plot(pts)# 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}