Rev 27709 | 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)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.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.}}\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}.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{data(cars)# 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}\keyword{list}\keyword{manip}