Как уже отмечали другие, 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()
.