\HeaderA{character}{Character Vectors}{character}
\aliasA{as.character}{character}{as.character}
\methaliasA{as.character.default}{character}{as.character.default}
\methaliasA{as.character.factor}{character}{as.character.factor}
\aliasA{is.character}{character}{is.character}
\keyword{character}{character}
\keyword{classes}{character}
\begin{Description}\relax
Create or test for objects of type \code{"character"}.
\end{Description}
\begin{Usage}
\begin{verbatim}
character(length = 0)
as.character(x, ...)
is.character(x)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{length}] desired length.
\item[\code{x}] object to be coerced or tested.
\item[\code{...}] further arguments passed to or from other methods.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{as.character} and \code{is.character} are generic: you can
write methods to handle specific classes of objects,
see \LinkA{InternalMethods}{InternalMethods}.
\end{Details}
\begin{Value}
\code{character} creates a character vector of the specified length.
The elements of the vector are all equal to \code{""}.

\code{as.character} attempts to coerce its argument to character type;
like \code{\LinkA{as.vector}{as.vector}} it strips attributes including names.

\code{is.character} returns \code{TRUE} or \code{FALSE} depending on
whether its argument is of character type or not.
\end{Value}
\begin{Note}\relax
\code{as.character} truncates components of language objects to 500
characters (was about 70 before 1.3.1).
\end{Note}
\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{paste}{paste}}, \code{\LinkA{substr}{substr}} and \code{\LinkA{strsplit}{strsplit}}
for character concatenation and splitting,
\code{\LinkA{chartr}{chartr}} for character translation and casefolding (e.g.,
upper to lower case) and \code{\LinkA{sub}{sub}}, \code{\LinkA{grep}{grep}} etc for
string matching and substitutions.  Note that
\code{help.search(keyword = "character")} gives even more links.
\code{\LinkA{deparse}{deparse}}, which is normally preferable to
\code{as.character} for language objects.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
form <- y ~ a + b + c
as.character(form)  ## length 3
deparse(form)       ## like the input
\end{ExampleCode}
\end{Examples}

