Как объединить вектор строк в r (с примерами)
Вы можете использовать любой из следующих методов в R для объединения вектора строк:
Способ 1. Используйте метод Paste() в Base R.
paste(vector_of_strings, collapse=' ')
Способ 2: используйте stri_paste() из пакета stringi.
library (stringi)
stri_paste(vector_of_strings, collapse=' ')
Оба метода дадут одинаковый результат, но метод stri_paste() будет быстрее, особенно если вы работаете с очень большими векторами.
Следующие примеры показывают, как использовать каждый метод на практике.
Пример 1. Объединение вектора строк с помощью метода Paste() в Base R.
Следующий код показывает, как объединить вектор строк с помощью базовой функции Paste() R:
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings
paste(vector_of_strings, collapse=' ')
[1] "This is a vector of strings"
Обратите внимание, что аргумент сокращения указывает разделитель, который нужно разместить между каждой строкой.
В приведенном выше примере мы использовали пробел. Однако мы могли бы использовать любой разделитель, например дефис:
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings using dash as delimiter
paste(vector_of_strings, collapse='-')
[1] “This-is-a-vector-of-strings”
Мы можем даже вообще не использовать разделители, если хотим, чтобы каждая строка была объединена без пробелов между ними:
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings using no delimiter
paste(vector_of_strings, collapse='')
[1] “Thisisavectorofstrings”
Пример 2. Объедините вектор строк с помощью str_paste() из пакета stringi.
Следующий код показывает, как объединить вектор строк с помощью функции stri_paste() из пакета stringi в R:
library (stringi)
#create vector of strings
vector_of_strings <- c('This', 'is', 'a', 'vector', 'of', 'strings')
#concatenate strings
stri_paste(vector_of_strings, collapse=' ')
[1] "This is a vector of strings"
Обратите внимание, что это дает тот же результат, что и базовая функция Paste() в R.
Разница лишь в том, что этот метод будет быстрее.
В зависимости от размера строковых векторов, с которыми вы работаете, разница в скорости может иметь для вас значение, а может и не иметь значения.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в R:
Как преобразовать вектор в строку в R
Как преобразовать строки в нижний регистр в R
Как выполнить частичное сопоставление строк в R