始める無料で始める

メンションを抽出する

ツイートのデータセットの各サブリストには、"mentions_screen_name"(つまり Twitter のハンドル名)という要素があります。ここには、ツイート内にメンションがなければ NULL、メンションがあれば1つ以上のスクリーン名が入っています。特定のツイート集から人気アカウントを見つける1つの方法は、もっとも多くメンションされたユーザーを特定することです。

まずはすべてのメンションを1つのベクトルに抽出し、その新しいベクトルに対して各プロフィールが何回メンションされたかを数えます。そのために、table()(ベクトル内の各要素の出現回数を数えます)、sort()tail() を組み合わせて、新しい合成関数を作ります。

purrr はすでに読み込まれており、rstudioconf はデータセットとして利用できます。

この演習はコースの一部です

purrr で学ぶ中級関数型プログラミング

コースを見る

演習の手順

  • as_vector()compact()flatten() を組み合わせた関数を作成してください。

  • 2つの引数 listwhat を受け取る関数を作成します。この関数は 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) %>% 
  ___()
コードを編集して実行