メンションを抽出する
ツイートのデータセットの各サブリストには、"mentions_screen_name"(つまり Twitter のハンドル名)という要素があります。ここには、ツイート内にメンションがなければ NULL、メンションがあれば1つ以上のスクリーン名が入っています。特定のツイート集から人気アカウントを見つける1つの方法は、もっとも多くメンションされたユーザーを特定することです。
まずはすべてのメンションを1つのベクトルに抽出し、その新しいベクトルに対して各プロフィールが何回メンションされたかを数えます。そのために、table()(ベクトル内の各要素の出現回数を数えます)、sort()、tail() を組み合わせて、新しい合成関数を作ります。
purrr はすでに読み込まれており、rstudioconf はデータセットとして利用できます。
この演習はコースの一部です
purrr で学ぶ中級関数型プログラミング
演習の手順
as_vector()、compact()、flatten()を組み合わせた関数を作成してください。2つの引数
listとwhatを受け取る関数を作成します。この関数はmap( list, what )を実行し、その結果をflatten_to_vectorに渡します。tail()、sort()、table()を組み合わせた関数six_mostを作成してください。extractor()をrstudioconfに対して実行し、その結果をsix_most()に渡してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Combine as_vector(), compact(), and flatten()
flatten_to_vector <- ___(___, ___, ___)
# Complete the function
extractor <- function(list, what = "mentions_screen_name"){
map( ___ , ___ ) %>%
___()
}
# Create six_most, with tail(), sort(), and table()
six_most <- ___(___, ___, ___)
# Run extractor() on rstudioconf
___(rstudioconf) %>%
___()