Як об’єднати вектор рядків у 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
Наступний код показує, як об’єднати вектор рядків за допомогою функції R base paste() :
#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"
Зауважте, що це дає той самий результат, що й базова функція R paste() .
Єдина відмінність полягає в тому, що цей спосіб буде швидше.
Залежно від розміру рядкових векторів, з якими ви працюєте, різниця у швидкості може мати або не мати значення для вас.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як перетворити вектор на рядок у R
Як перетворити рядки на малі літери в R
Як виконати часткове зіставлення рядків у R