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
がいくつ含まれるかをカウントする。- 正規表現が使えるため、単純な文字のカウントから複雑なパターンのマッチングまで幅広く対応できる。
- ベクトル化されているので、複数の文字列に対しても簡単に使える。
リンク
リンク
リンク
リンク