\HeaderA{paste}{Concatenate Strings}{paste}
\keyword{character}{paste}
\begin{Description}\relax
Concatenate vectors after converting to character.
\end{Description}
\begin{Usage}
\begin{verbatim}
paste(..., sep = " ", collapse = NULL)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{...}] one or more \R{} objects, to be converted to character vectors.
\item[\code{sep}] a character string to separate the terms.  Not
\code{\LinkA{NA\_character\_}{NA.Rul.character.Rul.}}.
\item[\code{collapse}] an optional character string to separate the results.  Not
\code{\LinkA{NA\_character\_}{NA.Rul.character.Rul.}}.
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
\code{paste} converts its arguments (\emph{via}
\code{\LinkA{as.character}{as.character}}) to character strings, and concatenates
them (separating them by the string given by \code{sep}).  If the
arguments are vectors, they are concatenated term-by-term to give a
character vector result.  Vector arguments are recycled as needed,
with zero-length arguments being recycled to \code{""}.

Note that \code{paste()} coerces \code{\LinkA{NA\_character\_}{NA.Rul.character.Rul.}}, the
character missing value, to \code{"NA"} which may seem
undesirable, e.g., when pasting two character vectors, or very
desirable, e.g. in \code{paste("the value of p is ", p)}.

If a value is specified for \code{collapse}, the values in the result
are then concatenated into a single string, with the elements being
separated by the value of \code{collapse}.
\end{Details}
\begin{Value}
A character vector of the concatenated values.  This will be of length
zero if all the objects are, unless \code{collapse} is non-NULL in
which case it is a single empty string.

If any input into an element of the result is in UTF-8, that element
will be in UTF-8, otherwise in the current encoding in which case the
encoding of an element of the element is declared if the current
locale is either Latin-1 or UTF-8, at least one of the corresponding
inputs (including separators) had a declared encoding and all inputs
were either ASCII or declared.
\end{Value}
\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
String manipulation with
\code{\LinkA{as.character}{as.character}}, \code{\LinkA{substr}{substr}}, \code{\LinkA{nchar}{nchar}},
\code{\LinkA{strsplit}{strsplit}}; further, \code{\LinkA{cat}{cat}} which concatenates and
writes to a file, and \code{\LinkA{sprintf}{sprintf}} for C like string
construction.

\sQuote{\LinkA{plotmath}{plotmath}} for the use of \code{paste} in plot annotation.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
paste(1:12) # same as as.character(1:12)
paste("A", 1:6, sep = "")
paste("Today is", date())
\end{ExampleCode}
\end{Examples}

