より大きなデータセットで「OR パターン」を使う
ベクトルから複数の候補を連結する考え方がわかったところで、もう一歩進めてこれをより大きなデータセットに適用します。グローバルスコープには 2 つの変数 articles と politicians が用意されています。前者はスイスの政治に関するニュース記事のコレクション、後者は記事に登場するスイスの政治家名のリストです。
ここでは、どの名前がどの記事に現れるのか、そして各政治家がすべての記事で何回登場するのかを調べてください。
この演習はコースの一部です
Rで学ぶ中級正規表現
演習の手順
- ベクトル
politiciansを使って、そのベクトルに含まれるすべての名前にマッチする正規表現を作成します。 - データフレーム
articlesに、新しい列を作成し、列textに現れるすべての政治家名を格納します。 - すべての記事を結合して、政治家ごとの出現回数を数えやすくします。
- パターンとしてベクトル
politiciansを使い、str_count()に渡します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Construct a pattern that searches for all politicians
polit_pattern <- glue_collapse(___, sep = "___")
# Use the pattern to match all names in the column "text"
articles %<>%
mutate(mentions = str_match_all(___, ___))
# Collapse all items of the column "text"
all_articles_in_one <- ___(articles$text)
# Pass the vector politicians to count all its elements
str_count(all_articles_in_one, ___)