\HeaderA{structure}{Attribute Specification}{structure}
\keyword{attribute}{structure}
\keyword{manip}{structure}
\begin{Description}\relax
\code{structure} returns the given object with further 
\LinkA{attributes}{attributes} set.
\end{Description}
\begin{Usage}
\begin{verbatim}
structure(.Data, ...)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{.Data}] an object which will have
various attributes attached to it.
\item[\code{...}] attributes, specified in \code{tag=value}
form, which will be attached to data.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
Adding a  class \code{"factor"} will ensure that numeric codes are
given integer storage mode.

For historical reasons (these names are used when deparsing),
attributes \code{".Dim"}, \code{".Dimnames"}, \code{".Names"},
\code{".Tsp"} and \code{".Label"} are renamed to \code{"dim"},
\code{"dimnames"}, \code{"names"}, \code{"tsp"} and \code{"levels"}.

It is possible to give the same tag more than once, in which case the
last value assigned wins.  As with other ways of assigning attributes,
using \code{tag=NULL} removes attribute \code{tag} from \code{.Data} if
it is present.
\end{Details}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{attributes}{attributes}}, \code{\LinkA{attr}{attr}}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
structure(1:6, dim = 2:3)
\end{ExampleCode}
\end{Examples}

