Как уже отмечали другие, paste()
- это путь.Но может раздражать необходимость набирать paste(str1, str2, str3, sep='')
каждый раз, когда вам нужен разделитель, отличный от используемого по умолчанию.
Вы можете очень легко создавать функции-оболочки, которые значительно упрощают жизнь.Например, если вы действительно часто объединяете строки без разделителя, вы можете сделать:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
или если вы часто хотите объединить строки из вектора (например, implode()
из PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Позволяет вам делать это:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Также есть встроенный paste0
, который делает то же самое, что и мой implode
, но без использования пользовательских разделителей,Это немного эффективнее, чем paste()
.