str_count(string, pattern) は、文字列内に正規表現pattern がいくつ出現するかをカウントする関数。
この関数は、stringr パッケージに含まれているので、まずは、library(stringr) でパッケージを読み込む。
install.packages("stringr")
library(stringr)
str_count()
str_count()の基本構文
str_count(string, pattern)
- 引数:
string: 文字列または文字ベクトル。カウント対象のテキストを指定する。pattern: 正規表現パターン。カウントする文字や部分文字列のパターンを指定する。
- 戻り値:
stringが1つの場合は、patternに一致する部分の出現回数 (整数) を返す。stringが複数の要素を持つベクトルの場合は、各要素について一致する部分の出現回数のベクトルが返される。
使用例
単一の文字列に対するカウント
str_count("banana", "a")
output
3
- "banana" には "a" が3回含まれている。
ベクトルに対するカウント
strings <- c("apple", "banana", "cherry")
str_count(strings, "a")
output
1 3 0
- "apple" には "a" が1回
- "banana" には "a" が3回
- "cherry" には "a" が0回
正規表現の使用
str_count()は、文字列内に正規表現パターンを使用して、特定の文字列の出現回数をカウントすることができる。
正規表現を使った例
母音のカウント
str_count("banana", "[aeiou]")
output
result: 3
[aeiou]は母音 (a, e, i, o, u) に一致する正規表現で、"banana" には "a" が3回含まれているため、3が返される。
複数のパターンのカウント
str_count("banana123", "\\d")
output
result: 3
\\dは数字 (0-9) に一致する正規表現で、"banana123" には "1", "2", "3" の3つの数字が含まれているため、3が返される。
パターンの複数の出現をまとめてカウント
str_count("abc abc abc", "abc")
output
result: 3
- "abc" というパターンが3回出現しているので、3が返される。
パターンの連続した出現のカウント
str_count("aaaaa", "aa")
output
result: 2
aaというパターンは、"aaaaa" の中で重複部分を含めると2回一致する(最初の "aa" と2つ目の "aa" で2回)。
ポイント
- 重複する部分もカウントする:
str_countでは、パターンがオーバーラップして出現する場合(例えば "aaaaa" に対する "aa")でも、そのカウントの仕方には注意が必要。 - 正規表現を使用できる:
str_countでは、簡単な文字列だけでなく、正規表現 を使ったパターンのマッチングが可能。 - ベクトル化された処理:
stringにベクトルを渡すと、すべての要素ごとにpatternの出現回数をカウントしてくれるため、for文を使う必要がない。
まとめ
str_count(string, pattern)は、指定したstringにpatternがいくつ含まれるかをカウントする。- 正規表現が使えるため、単純な文字のカウントから複雑なパターンのマッチングまで幅広く対応できる。
- ベクトル化されているので、複数の文字列に対しても簡単に使える。
リンク
リンク
リンク
リンク



