paste
Concatenate Strings
Concatenate vectors after converting to character.
- Keywords
- character
Usage
paste (..., sep = " ", collapse = NULL)
paste0(..., collapse = NULL)
Arguments
- ...
- one or more R objects, to be converted to character vectors.
- sep
- a character string to separate the terms. Not
NA_character_
. - collapse
- an optional character string to separate the results. Not
NA_character_
.
Details
paste
converts its arguments (via
as.character
) to character strings, and concatenates
them (separating them by the string given by 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 ""
.
Note that paste()
coerces NA_character_
, the
character missing value, to "NA"
which may seem
undesirable, e.g., when pasting two character vectors, or very
desirable, e.g. in paste("the value of p is ", p)
.
paste0(..., collapse)
is equivalent to
paste(..., sep = "", collapse)
, slightly more efficiently.
If a value is specified for collapse
, the values in the result
are then concatenated into a single string, with the elements being
separated by the value of collapse
.
Value
-
A character vector of the concatenated values. This will be of length
zero if all the objects are, unless
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 (and none are
declared with encoding "bytes"
), that element will be in UTF-8,
otherwise in the current encoding in which case the encoding 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.If an input into an element is declared with encoding "bytes"
,
no translation will be done of any of the elements and the resulting
element will have encoding "bytes"
. If collapse
is
non-NULL, this applies also to the second, collapsing, phase, but some
translation may have been done in pasting object together in the first
phase.
References
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
See Also
String manipulation with
as.character
, substr
, nchar
,
strsplit
; further, cat
which concatenates and
writes to a file, and sprintf
for C like string
construction.
plotmath for the use of paste
in plot annotation.
Examples
library(base)
paste(1:12) # same as as.character(1:12)
paste("A", 1:6, sep = "")
stopifnot(identical(paste ("A", 1:6, sep = ""),
paste0("A", 1:6)))
paste("Today is", date())
Community examples
See [`str_c()`](https://www.rdocumentation.org/packages/stringr/topics/str_c) for examples of how it differs from `paste0()`, particularly w.r.t. handling missing values.