R×stringr::str_c 複数の文字列に1つに統合する

R言語のstringrパッケージに含まれているstr_c()関数について解説します。この関数は、「複数の文字列をくっつけて、1つの文字列にする(結合する)」ときに使える関数です。Rの基本関数にあるpaste()paste0()stringrバージョンですが、より直感的で、データ分析(tidyverse)の流れに組み込みやすいように設計されています。

stringrパッケージは、文字列データを操作するための強力で便利な関数を多く取り扱っています。また、Rのデータサイエンス向け主要パッケージ群であるtidyverseパッケージにも含まれています。

概要

str_c()は、複数の文字列に1つに統合するための関数です。

使い方


str_c(..., sep = "", collapse = NULL)

引数

1つ以上の文字ベクトルを指定します。
NULLは削除されます。スカラー入力(長さ1のベクトル)は、ベクトル入力の共通の長さにリサイクルされます。他のほとんどのR関数と同様に、欠損値は「感染性」があります。欠損値が別の文字列と結合されると、結果は常に欠損値になります。目的の値に変換するには、dplyr::coalesce()またはstr_replace_na()を使用します。

sep = “”

入力ベクトルの間に挿入する文字列を指定します。

collapse = NULL

出力を単一の文字列に結合するために使用されるオプションの文字列を指定します。
通常、この動作が必要な場合はstr_flatten()を使用する方が適切です。

使用例

準備

あらかじめ、tidyverseパッケージまたはstringrパッケージを読み込んでおきます。


# library(tidyverse)でもよい
library(stringr)

解説のために、次の文字列を使用します。


s1 <- "So many men"
s2 <- "so many minds"

文字列の結合

文字列s1とs2を結合し、s1とs2の間に「, 」を挿入するには次のようにします。


str_c(s1, s2, sep = ", ")

[1] "So many men, so many minds"

参考文献