Як об’єднати вектор рядків у 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *