R で文字列のベクトルを連結する方法 (例あり)
R で次のメソッドのいずれかを使用して、文字列のベクトルを連結できます。
方法 1: Base R で Past() を使用する
paste(vector_of_strings, collapse=' ')
方法 2: stringi パッケージの stri_paste() を使用する
library (stringi)
stri_paste(vector_of_strings, collapse=' ')
どちらのメソッドも同じ結果を生成しますが、特に非常に大きなベクトルを扱う場合は、 stri_paste()メソッドの方が高速です。
次の例は、各メソッドを実際に使用する方法を示しています。
例 1: Base R で past() を使用して文字列のベクトルを連結する
次のコードは、R ベースのpast()関数を使用して文字列のベクトルを連結する方法を示しています。
#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"
reduce引数は、各文字列の間に配置する区切り文字を指定することに注意してください。
上の例ではスペースを使用しました。ただし、ハイフンなどの任意の区切り文字を使用できます。
#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: stringi パッケージの str_paste() を使用して文字列のベクトルを連結する
次のコードは、R のstringiパッケージのstri_paste()関数を使用して文字列のベクトルを連結する方法を示しています。
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の past()関数と同じ結果を生成することに注意してください。
唯一の違いは、この方法の方が高速であるということです。
操作している文字列ベクトルのサイズに応じて、速度の違いが重要になる場合もあれば、重要でない場合もあります。
追加リソース
次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。
Rでベクトルを文字列に変換する方法
Rで文字列を小文字に変換する方法
Rで部分文字列マッチングを実行する方法